赵佳乐SMILE 发表于 2013-5-6 16:27:02

菜鸟求助 描述性编程 命名规范-京东购物车

本帖最后由 赵佳乐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

cellule 发表于 2013-5-6 17:12:03

你可以去百度下,编码参数命名规范,这就不拉了,省的被斑竹拉进小黑屋

赵佳乐SMILE 发表于 2013-5-6 17:17:26

回复 2# cellule


    谢谢 就是不知道搜啥关键词。。哈哈 自己搜没搜出来

joykao 发表于 2013-5-7 08:35:23

最基本代码要有可读性吧,易读性吧

赵佳乐SMILE 发表于 2013-5-7 09:00:11

回复 4# joykao

你的意思是加注释?还是命名要有可读性?

joykao 发表于 2013-5-8 08:48:14

回复 5# 赵佳乐SMILE


自己都这么说了,说明你已经知道怎么做比较好了哇

赵佳乐SMILE 发表于 2013-5-8 08:58:14

回复 6# joykao


    知道 但是以前写代码 就被领导说过 命名不好 至今没掌握要领。。 呵呵

cellule 发表于 2013-5-8 09:29:04

匈牙利命名法,基本结构为scope_typeVariableName,它使用3字符前缀来表示数据类型,3个字符的前缀必须小写,前缀后面是由表意性强的一个单词或多个单词组成的名字,而且每个单词的首写字母大写,其它字母小写,这样保证了对变量名能够进行正确的断句。

joykao 发表于 2013-5-8 10:37:30

回复 7# 赵佳乐SMILE
命名还是很有技巧性的,比如你对一个对象的命名,但是其他的人也能看得懂,那你命名的思想就可以了哇

赵佳乐SMILE 发表于 2013-5-8 10:52:21

回复 8# cellule


    一下开窍了 谢谢

赵佳乐SMILE 发表于 2013-5-8 10:53:23

回复 9# joykao


    我感觉我现在弄的东西 就是我看的懂 然后过个半个月 我自己也看不懂了 哈哈

joykao 发表于 2013-5-8 11:08:23

回复 11# 赵佳乐SMILE


    ;P那好吧。。。。半个月以后再纠结吧

32712784 发表于 2013-5-13 10:41:14

LZ很厉害哇! 先收藏,慢慢学!{:4_103:}
页: [1]
查看完整版本: 菜鸟求助 描述性编程 命名规范-京东购物车