<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

    常用鏈接

    統(tǒng)計

    積分與排名

    friends

    link

    最新評論

    讀 TDD 的總結(jié)

    TDD 的總結(jié)

    				
    						讀完TDD(測試驅(qū)動開發(fā)),發(fā)現(xiàn)其中主要就是在反復(fù)說了這么兩件事情(也就是兩個簡單的規(guī)則):一、在寫任何代碼之前,寫一個會失敗的自動測試程序,即單元測試;二、消除重復(fù)設(shè)計,優(yōu)化設(shè)計結(jié)構(gòu),即重構(gòu)。整本書都圍繞著這兩個規(guī)則來進(jìn)行說明,告訴讀者到底要如何這樣做?又如何分階段應(yīng)用這些規(guī)則?這兩條簡單的規(guī)則可以運用多深?
    				
    		
    				
    						第一部分通過一個簡單的實例來告訴讀者如何使用TDD,如何反復(fù)通過不可運行/可運行/重構(gòu)/不可運行/可運行/重構(gòu)來進(jìn)行開發(fā);第二部分告訴讀者如何使用單元測試,怎樣組織單元測試;第三部分則是將TDD分解成較小的步驟來進(jìn)行詳細(xì)說明,根據(jù)我對本書的理解,我認(rèn)為需要完全將TDD運用到日常的開發(fā)行為中,則要按照以下非常細(xì)小的步驟進(jìn)行:
    				
    		

    1.?????? 獲得任務(wù)。即項目經(jīng)理安排的任務(wù)。任務(wù)往往不止一項。將它們寫入周工作計劃表或者月工作計劃表。

    2.?????? 選擇任務(wù)。每天開始工作之前,將今天將要解決的問題寫入工作計劃列表。并選擇自己最有把握完成的任務(wù)作為當(dāng)前任務(wù)。

    3.?????? 分析并分解任務(wù)。將當(dāng)前任務(wù)分解成一個個相對簡單的問題,分解的問題最好是能在十多分鐘之內(nèi)能完成,并將它們寫入工作列表。如:若要實現(xiàn)多幣種相加,則可以分解為:實現(xiàn)相同幣種之間的相加,不同幣種之間的互換,最后才能實現(xiàn)不同幣種之間的相加。

    4.?????? 寫測試列表。將分解后的問題所對應(yīng)的測試寫入測試列表。

    5.?????? 選擇測試。從測試列表中選擇自己認(rèn)為最有把握實現(xiàn)的一項。如:“同幣種相加”對我來說是最有把握實現(xiàn)的一項,因此我最先來實現(xiàn)它,即先從它的測試程序開始編寫。

    6.?????? 編寫測試數(shù)據(jù)。寫一個容易讓人理解的必須實現(xiàn)的測試數(shù)據(jù)列表,盡量使用顯然數(shù)據(jù)。如:用 String 表示 IP 地址 "255.255.255.255" 轉(zhuǎn)換為 int ,在我們寫測試數(shù)據(jù)時應(yīng)這樣寫: (255 << 24) + (255 << 16) + (255 << 8) + 255 ,而不是寫“ -1 ”。

    7.?????? 編寫測試。選擇一項最容易讓測試通過的測試數(shù)據(jù)加入測試方法。斷言優(yōu)先,然后加入為了讓斷言通過編譯的一切準(zhǔn)備條件。

    8.?????? 運行測試,不可運行狀態(tài)。

    9.?????? 編寫方法注釋,把所有想到的該方法要實現(xiàn)的功能寫上。

    10.?? 編寫功能代碼,使之達(dá)到可運行狀態(tài)。

    11.?? 重構(gòu),消除重復(fù)設(shè)計。

    12.?? 往測試方法中增加一個新的小測試。

    13.?? 運行測試,不可運行狀態(tài)。

    14.?? 修改功能代碼,使之達(dá)到可運行狀態(tài)。

    15.?? 重構(gòu)。消除重復(fù)設(shè)計。

    16.?? 重復(fù) 12-15

    17.?? 當(dāng)無論如何也不能讓該測試通過的時候,認(rèn)真想一想是不是哪里出大問題了,如果實在想不出來的話,就將現(xiàn)有代碼扔掉,重新開始。

    18.?? 所有測試都運行通過之后,仔細(xì)檢查所有代碼,看是否還有值得重構(gòu)的地方,并重構(gòu)。

    19.?? 提交 (check in)

    20.?? 再選擇測試列表中的下一個測試。重復(fù)以上步驟。

    21.?? 當(dāng)一天的工作結(jié)束時,若有某個任務(wù)未完成,則留下一個不完整測試,以便于次日能迅速回憶起當(dāng)時寫該代碼時的想法,并接著寫下去。

    posted on 2007-01-18 15:54 liaojiyong 閱讀(345) 評論(0)  編輯  收藏 所屬分類: Testing

    主站蜘蛛池模板: 亚洲国产成人久久精品大牛影视| 美女被免费网站91色| 中文字幕亚洲激情| 国产成人无码区免费内射一片色欲| 久久亚洲精品无码aⅴ大香| 蜜桃精品免费久久久久影院| 国产精品免费看久久久香蕉| 亚洲电影在线免费观看| 国产一精品一aⅴ一免费| 青柠影视在线观看免费| 亚洲国产AV无码一区二区三区| 亚洲综合区小说区激情区 | 一级黄色免费毛片| 91亚洲国产成人精品下载| 国产jizzjizz视频全部免费| 久久精品私人影院免费看| 无码天堂va亚洲va在线va| 亚洲午夜精品一区二区| 亚洲成AV人在线观看网址| 222www免费视频| 72pao国产成视频永久免费| 亚洲视频在线观看2018| 亚洲国产精品无码中文字| 日本高清色本免费现在观看| 4399影视免费观看高清直播| 免费夜色污私人影院网站电影| 亚洲三级在线视频| 亚洲AV无码乱码国产麻豆穿越| 国产一区二区三区免费看| 成人AV免费网址在线观看| 男人的天堂网免费网站| 一区二区三区在线免费| 亚洲AV综合永久无码精品天堂| 亚洲综合在线成人一区| 亚洲码国产精品高潮在线| 免费中文字幕在线观看| 我要看免费的毛片| 在线v片免费观看视频| 91成人免费观看| 国产午夜无码精品免费看动漫| 日韩毛片一区视频免费|