51Testing软件测试论坛

标题: 菜鸟求助 描述性编程 命名规范-京东购物车 [打印本页]

作者: 赵佳乐SMILE    时间: 2013-5-6 16:27
标题: 菜鸟求助 描述性编程 命名规范-京东购物车
本帖最后由 赵佳乐SMILE 于 2013-5-6 16:36 编辑

这两天在研究几个问题

虽然研究出来了 不过感觉有些凌乱

因为我没怎么用过描述性编程 也没接触过实际项目

请问,描述性编程有什么规范?
oWebElements 就是很多行
和o2WebElements 就是一行
其实我觉得写的挺恶心的 后来自己都乱了

请指点指点我的代码 写些改进意见,谢谢

[attach]85029[/attach]
  1. 'msgbox Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").WebElement("去购物车结算").GetROProperty("innertext")

  2. Dim oWebElements,oDesc
  3. Set oDesc=description.Create()
  4. oDesc("micClass").value="WebElement"
  5. oDesc("html tag").value="span"
  6. oDesc("class").value="p-price"
  7. set oWebElements= Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").ChildObjects(oDesc)
  8. oCount=oWebElements.count()

  9. Dim tempObj
  10. Dim MyString, MyArray, Msg

  11. Dim deleteIndex
  12. deleteIndex=-1

  13. For i=0  To  oCount-1
  14.     Set tempObj = oWebElements.Item(i)
  15.         sliptString=tempObj.GetROProperty("innertext")

  16.         intPrice=between(sliptString,"¥","×")
  17.         intNums=between(sliptString,"×","")

  18.         intTotal=intTotal+(intPrice*intNums)

  19.         If  (intTotal>1000) and (deleteIndex=-1)Then
  20.                 deleteIndex=i
  21.         End If

  22. Next

  23. msgbox "有"& oCount &"种商品"

  24. Dim o2WebElements,o2Desc
  25. Set o2Desc=description.Create()
  26. o2Desc("micClass").value="WebElement"
  27. o2Desc("html tag").value="div"
  28. o2Desc("class").value="smb ar"
  29. set o2WebElements= Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").ChildObjects(o2Desc)
  30. o2Count=o2WebElements.count()
  31. For i=0  To  o2Count-1
  32.     Set tempObj = o2WebElements.Item(i)
  33.         sliptString=tempObj.GetROProperty("innertext")
  34. Next

  35. actPrice=between(sliptString,"¥ ","去")

  36. If  FormatNumber(intTotal,2)=FormatNumber(actPrice,2) Then
  37.         Reporter.ReportEvent micPass, "共计相等", "共计价格为:"& actPrice
  38. Else
  39.         Reporter.ReportEvent micFail, "共计不相等", "共计价格为:"& actPrice &"各商品价格之和为:"& intTotal
  40. End If

  41. If  deleteIndex>=0Then
  42.         For j=deleteIndex To oCount-1
  43.                 Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").Link("name:=删除","index:=" & j).Click
  44.         Next
  45. End If

  46. '得到两个字符串中间的字符串。   
  47. '例如:   
  48. 'text="人民币300元",tBefore="人民币",tAfter="元"   
  49. '使用between(text,tBefore,tAfter)得到300.   
  50. Public Function between(words,wordBefore,wordAfter)   
  51.     t1=InStr(words,wordBefore)   
  52.     If t1=0 Then  
  53.         between=words   
  54.     Else  
  55.         L1=Len(wordBefore)   
  56.         wordsRight=Right(words,Len(words)-t1-L1+1)   
  57.         t2=InStr(wordsRight,wordAfter)   
  58.         If t2=0 Then  
  59.             wordAfter=""  
  60.         End If  
  61.         If wordAfter="" Then  
  62.             t2=Len(wordsRight)+1   
  63.         Else  
  64.             t2=InStr(wordsRight,wordAfter)   
  65.         End If  
  66.         needWord=Left(wordsRight,t2-1)   
  67.         between=needWord   
  68.     End If  
  69. End Function  
复制代码

作者: cellule    时间: 2013-5-6 17:12
你可以去百度下,编码参数命名规范,这就不拉了,省的被斑竹拉进小黑屋
作者: 赵佳乐SMILE    时间: 2013-5-6 17:17
回复 2# cellule


    谢谢 就是不知道搜啥关键词。。哈哈 自己搜没搜出来
作者: joykao    时间: 2013-5-7 08:35
最基本代码要有可读性吧,易读性吧
作者: 赵佳乐SMILE    时间: 2013-5-7 09:00
回复 4# joykao

你的意思是加注释?还是命名要有可读性?
作者: joykao    时间: 2013-5-8 08:48
回复 5# 赵佳乐SMILE


自己都这么说了,说明你已经知道怎么做比较好了哇
作者: 赵佳乐SMILE    时间: 2013-5-8 08:58
回复 6# joykao


    知道 但是以前写代码 就被领导说过 命名不好 至今没掌握要领。。 呵呵
作者: cellule    时间: 2013-5-8 09:29
匈牙利命名法,基本结构为scope_typeVariableName,它使用3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。
作者: joykao    时间: 2013-5-8 10:37
回复 7# 赵佳乐SMILE
命名还是很有技巧性的,比如你对一个对象的命名,但是其他的人也能看得懂,那你命名的思想就可以了哇
作者: 赵佳乐SMILE    时间: 2013-5-8 10:52
回复 8# cellule


    一下开窍了 谢谢
作者: 赵佳乐SMILE    时间: 2013-5-8 10:53
回复 9# joykao


    我感觉我现在弄的东西 就是我看的懂 然后过个半个月 我自己也看不懂了 哈哈
作者: joykao    时间: 2013-5-8 11:08
回复 11# 赵佳乐SMILE


    那好吧。。。。半个月以后再纠结吧
作者: 32712784    时间: 2013-5-13 10:41
LZ很厉害哇! 先收藏,慢慢学!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2