小螞蟻  
          風(fēng)雨過(guò)后才見(jiàn)彩虹
          公告

          • —————————————
            李麗君
            軟件測(cè)試工作者
            廣東籍貫的海南人
            北京生活12年
            目前在深圳

            郵箱:
            llj2003hbdd@163.com
            —————————————
            說(shuō)明:本Blog中的內(nèi)容均為本人原創(chuàng)或轉(zhuǎn)載,本人依法保留Blog內(nèi)原創(chuàng)文章的所有權(quán)利,如需轉(zhuǎn)載,請(qǐng)注明作者及出處。未經(jīng)許可,不得將本Blog內(nèi)文章用于任何盈利性用途。
            —————————————
          日歷
          <2010年7月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導(dǎo)航

          常用鏈接

          留言簿(174)

          隨筆分類(lèi)(189)

          0--感興趣的網(wǎng)站

          1--國(guó)內(nèi)測(cè)試網(wǎng)站

          2--測(cè)試同行的blog

          3--開(kāi)發(fā)好友的blog

          最新評(píng)論

           
           

          編寫(xiě)背景:

          測(cè)試組團(tuán)隊(duì)經(jīng)過(guò)1年多的實(shí)戰(zhàn),測(cè)試工作流程及規(guī)范大家都已經(jīng)明白并能很好的完成每個(gè)月的測(cè)試任務(wù);下半年要向工作質(zhì)量和工作效率邁上一個(gè)臺(tái)階,需要發(fā)揮大家的力量;自動(dòng)化測(cè)試腳本編寫(xiě)這幾個(gè)月在測(cè)試任務(wù)中讓大家感受了一把;大家都認(rèn)識(shí)到,要想讓這些自動(dòng)化測(cè)試腳本能高效的維護(hù)、使用,讓新人和老人更容易的明白這些代碼,我們需要一個(gè)自動(dòng)化測(cè)試腳本編寫(xiě)的規(guī)范。

          經(jīng)過(guò)大家的努力,得出了這么個(gè)初稿,放在這里和大家交流交流,希望有經(jīng)驗(yàn)的同行能給些建議。


          一、命名規(guī)范

          1.1 全體

          1.      原則上不使用單詞的省略詞。

          2.      對(duì)于作用域小的循環(huán)變量,以i, j, k這樣的名字順序使用。

          3.      對(duì)于作用域小的變量名,可以使用類(lèi)名的省略語(yǔ)。 (: eo = ExampleObject.new)

          1.2 類(lèi)名和模塊名

          類(lèi)以及模塊名、各單詞的每頭一個(gè)字母大寫(xiě),不要使用“_”下劃線(xiàn)等分隔符。但是,像HTTP這樣的通用縮略語(yǔ),全都照樣大寫(xiě)。名稱(chēng)最好使用“名詞”或者“形容詞+名詞”

          正例:

          OtherClass

          HTTPClient

          例:

          Other_Class

          OTHERCLASS

          HttpClient

          HTTPclient

          HTTP_Client

          1.3 方法名

          方法名全都小寫(xiě)、各個(gè)單詞之間用“_”分隔。方法名中使用“動(dòng)詞”或者“動(dòng)詞+名詞”

          正例:

          add_something

          誤例:

          addsSomething

          Add_Something

          返回真假值的方法的命名,在動(dòng)詞或形容詞后追加“?”,對(duì)形容詞,不用添加“is_”。

          正例:

          visible?

          誤例:

          is_visible

          is_visible?

          另外,在使用具有破壞性和非破壞性的方法時(shí)候,要在破壞性的方法名后追加“!”。

          :

          split

          split! # 具有破壞性的split

          1.4 常數(shù)名

          類(lèi)和模塊名以外的常數(shù)名,全都用大寫(xiě),單詞之間用“_”來(lái)分隔。

          :

          EXAMPLE_CONSTANT

          1.5 變量名

          對(duì)于變量名,全都用小寫(xiě),單詞之間用“_”來(lái)分隔。全局變量以$開(kāi)頭,實(shí)例變量以@開(kāi)頭,類(lèi)變量以2個(gè)@開(kāi)頭。

          :

          tmp

          local_variable

          @instance_variable

          $global_variable

          @@class_variable

          變量名稱(chēng)要能清晰表達(dá)該變量的含義,如order_state,記錄訂單的狀態(tài)

          1.6 文件名

          文件名全都使用小寫(xiě)字母,單詞之間用“_”來(lái)分隔。另外,可以把文件中的已經(jīng)變換的主要類(lèi)名作為文件名來(lái)使用。

          :

          foo.rb # 定義了類(lèi)Foo

          foo_bar.rb # 定義了類(lèi)FooBar


          二、代碼排版規(guī)范

          2.1 注釋風(fēng)格

          注釋的位置應(yīng)與被描述的代碼相鄰,可以放在代碼的上方或右方,不要放在代碼的下方;注釋內(nèi)容應(yīng)明確表達(dá)被注釋代碼的含義。

          例:

              # Return a Watir::IE object for an existing IE window. Window can be

              # referenced by url, title, or window handle.

              # Second argument can be either a string or a regular expression in the

              # case of of :url or :title.

              # IE.attach(:url, 'http://www.google.com')

              # IE.attach(:title, 'Google')

              # IE.attach(:hwnd, 528140)

              # This method will not work when

              # Watir/Ruby is run under a service (instead of a user).

          defself.attach(how, what)

          ie = new true # don't create window

          ie._attach_init(how, what)

          ie

          end

          2.2 代碼格式

             2.2.1空格

          1. 逗號(hào)“,”、分號(hào)“;”之后要留空格
          2. 賦值操作符、比較操作符、算術(shù)操作符、邏輯操作符,如“=”、“+=”“>=”、“<=”、“+”、“*”、“%”、“&&”、“||”等二元操作符的前后都加空格或者前后都不加空格。

          正例:

          a+b

          a + b

          誤例:

          a+ b

          a +b

          1. 一元操作符如“!”、“~”以及“[]”、“.”、“::”這類(lèi)操作符前后不加空格。
          2. 函數(shù)名之后不要留空格

              2.2.2代碼縮進(jìn)

          為了增加程序的可讀性而進(jìn)行的適當(dāng)?shù)目s進(jìn),縮進(jìn)的幅度以2個(gè)字符為宜。另外,縮進(jìn)的時(shí)候,只可使用空格,不可使用TAB(編程工具不同的時(shí)候,看起來(lái)會(huì)不一樣)

          :

          if x > 0

           if y > 0

              puts "x > 0 && y > 0"

           end

          end

              2.2.3空行

          同一函數(shù)內(nèi),不同含義的代碼段之間空一行;不同函數(shù)和不同類(lèi)之間空兩行

          2.3.輸出檢查點(diǎn)的格式

          輸出檢查點(diǎn)采用“---輸出語(yǔ)句---”格式,輸出語(yǔ)句應(yīng)簡(jiǎn)潔清晰的表達(dá)意思。


          三、代碼示例

          代碼示例如下圖

          posted on 2010-07-22 11:33 lijun 閱讀(2468) 評(píng)論(3)  編輯  收藏 所屬分類(lèi): 軟件自動(dòng)化測(cè)試
          評(píng)論:
           
          Copyright © lijun Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 铜川市| 枣阳市| 潍坊市| 丰台区| 台中市| 托里县| 马山县| 神木县| 石家庄市| 余干县| 安龙县| 宁强县| 子洲县| 奇台县| 北辰区| 甘德县| 酉阳| 平和县| 梨树县| 四平市| 永胜县| 宜阳县| 阳泉市| 静宁县| 株洲县| 芮城县| 武城县| 横峰县| 比如县| 兰西县| 寻甸| 建瓯市| 望谟县| 哈密市| 青冈县| 湘潭市| 惠来县| 韶关市| 沧源| 大同县| 体育|