菜鸟求助 描述性编程 命名规范-京东购物车
本帖最后由 赵佳乐SMILE 于 2013-5-6 16:36 编辑这两天在研究几个问题
虽然研究出来了 不过感觉有些凌乱
因为我没怎么用过描述性编程 也没接触过实际项目
请问,描述性编程有什么规范?
oWebElements 就是很多行
和o2WebElements 就是一行
其实我觉得写的挺恶心的 后来自己都乱了
请指点指点我的代码 写些改进意见,谢谢
'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=0TooCount-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=0Too2Count-1
Set tempObj = o2WebElements.Item(i)
sliptString=tempObj.GetROProperty("innertext")
Next
actPrice=between(sliptString,"¥ ","去")
IfFormatNumber(intTotal,2)=FormatNumber(actPrice,2) Then
Reporter.ReportEvent micPass, "共计相等", "共计价格为:"& actPrice
Else
Reporter.ReportEvent micFail, "共计不相等", "共计价格为:"& actPrice &"各商品价格之和为:"& intTotal
End If
IfdeleteIndex>=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
你可以去百度下,编码参数命名规范,这就不拉了,省的被斑竹拉进小黑屋 回复 2# cellule
谢谢 就是不知道搜啥关键词。。哈哈 自己搜没搜出来 最基本代码要有可读性吧,易读性吧 回复 4# joykao
你的意思是加注释?还是命名要有可读性? 回复 5# 赵佳乐SMILE
自己都这么说了,说明你已经知道怎么做比较好了哇 回复 6# joykao
知道 但是以前写代码 就被领导说过 命名不好 至今没掌握要领。。 呵呵 匈牙利命名法,基本结构为scope_typeVariableName,它使用3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。 回复 7# 赵佳乐SMILE
命名还是很有技巧性的,比如你对一个对象的命名,但是其他的人也能看得懂,那你命名的思想就可以了哇 回复 8# cellule
一下开窍了 谢谢 回复 9# joykao
我感觉我现在弄的东西 就是我看的懂 然后过个半个月 我自己也看不懂了 哈哈 回复 11# 赵佳乐SMILE
;P那好吧。。。。半个月以后再纠结吧 LZ很厉害哇! 先收藏,慢慢学!{:4_103:}
页:
[1]