51Testing软件测试论坛
标题:
菜鸟求助 描述性编程 命名规范-京东购物车
[打印本页]
作者:
赵佳乐SMILE
时间:
2013-5-6 16:27
标题:
菜鸟求助 描述性编程 命名规范-京东购物车
本帖最后由 赵佳乐SMILE 于 2013-5-6 16:36 编辑
这两天在研究几个问题
虽然研究出来了 不过感觉有些凌乱
因为我没怎么用过描述性编程 也没接触过实际项目
请问,描述性编程有什么规范?
oWebElements 就是很多行
和o2WebElements 就是一行
其实我觉得写的挺恶心的 后来自己都乱了
请指点指点我的代码 写些改进意见,谢谢
[attach]85029[/attach]
'msgbox Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").WebElement("去购物车结算").GetROProperty("innertext")
Dim oWebElements,oDesc
Set oDesc=description.Create()
oDesc("micClass").value="WebElement"
oDesc("html tag").value="span"
oDesc("class").value="p-price"
set oWebElements= Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").ChildObjects(oDesc)
oCount=oWebElements.count()
Dim tempObj
Dim MyString, MyArray, Msg
Dim deleteIndex
deleteIndex=-1
For i=0 To oCount-1
Set tempObj = oWebElements.Item(i)
sliptString=tempObj.GetROProperty("innertext")
intPrice=between(sliptString,"¥","×")
intNums=between(sliptString,"×","")
intTotal=intTotal+(intPrice*intNums)
If (intTotal>1000) and (deleteIndex=-1)Then
deleteIndex=i
End If
Next
msgbox "有"& oCount &"种商品"
Dim o2WebElements,o2Desc
Set o2Desc=description.Create()
o2Desc("micClass").value="WebElement"
o2Desc("html tag").value="div"
o2Desc("class").value="smb ar"
set o2WebElements= Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").ChildObjects(o2Desc)
o2Count=o2WebElements.count()
For i=0 To o2Count-1
Set tempObj = o2WebElements.Item(i)
sliptString=tempObj.GetROProperty("innertext")
Next
actPrice=between(sliptString,"¥ ","去")
If FormatNumber(intTotal,2)=FormatNumber(actPrice,2) Then
Reporter.ReportEvent micPass, "共计相等", "共计价格为:"& actPrice
Else
Reporter.ReportEvent micFail, "共计不相等", "共计价格为:"& actPrice &"各商品价格之和为:"& intTotal
End If
If deleteIndex>=0Then
For j=deleteIndex To oCount-1
Browser("奶粉 - 商品搜索 - 京东").Page("奶粉 - 商品搜索 - 京东").Link("name:=删除","index:=" & j).Click
Next
End If
'得到两个字符串中间的字符串。
'例如:
'text="人民币300元",tBefore="人民币",tAfter="元"
'使用between(text,tBefore,tAfter)得到300.
Public Function between(words,wordBefore,wordAfter)
t1=InStr(words,wordBefore)
If t1=0 Then
between=words
Else
L1=Len(wordBefore)
wordsRight=Right(words,Len(words)-t1-L1+1)
t2=InStr(wordsRight,wordAfter)
If t2=0 Then
wordAfter=""
End If
If wordAfter="" Then
t2=Len(wordsRight)+1
Else
t2=InStr(wordsRight,wordAfter)
End If
needWord=Left(wordsRight,t2-1)
between=needWord
End If
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