• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            O(1) 的小樂

            Job Hunting

            公告

            記錄我的生活和工作。。。
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            統(tǒng)計

            • 隨筆 - 182
            • 文章 - 1
            • 評論 - 41
            • 引用 - 0

            留言簿(10)

            隨筆分類(70)

            隨筆檔案(182)

            文章檔案(1)

            如影隨形

            搜索

            •  

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            《The Productive Programmer》4

            第二部分  實踐

            第六章  測試驅(qū)動設計

            單元測試是一項提升代碼質(zhì)量的極佳實踐 。經(jīng)過測試的代碼能更好地保證編碼的意圖和實際結(jié)果相符。測試驅(qū)動開發(fā),因為堅持先寫測試后寫代碼的方式,帶來了更多的好處。當把軟件工程和其他的工程科學進行比較的時候(我需要一些隱喻的表達)他們之間的重要差異就會顯現(xiàn)。

              嚴格遵守TDD(測試驅(qū)動開發(fā))的方式還回帶來非常多的好處!TDD建立了一種消費意識:當你編寫一個單元測試的時候,其實你正在創(chuàng)建待開發(fā)代碼的第一個消費者。這讓你思考,在測試之外,我們會如何使用這個類。

              很多開發(fā)人員都有這樣的經(jīng)歷:在寫一個大類的過程中,一路伴隨著很多的假設或者臆斷。然而當你真的開始使用這個類時,你才認識到一些假設是錯誤的。然后,你只好去重構(gòu)代碼。TDD要求你在寫代碼之前先創(chuàng)建它的第一個消費者,這會讓你去思考其他代碼最終會如何使用這些待開發(fā)的代碼。

             

             

            恩,從自己經(jīng)手的幾個項目來看,單元測試的確都是非常非常重要的。首先你需要保證的是你寫的是100%正確的。。(這雖然不太可能)但起碼當用戶需求不變的時候,你的這個是正確的。把寫代碼和測試代碼搞成一個螺旋開發(fā)的事實。。不斷調(diào)整進度。。其實這樣子才是最省時省力的方法。

             

              對設計的影響。TDD通過以下形式,來改進代碼的設計:

              1 它幫你養(yǎng)成了很好的代碼“消費意識”,因為在開始寫代碼之前,就需要創(chuàng)建第一個消費者。

              2 保持對及其簡單的一些情況進行測試(以及持續(xù)不斷地測試),能在你不小心把至關重要的基礎設施破壞了之后及時的發(fā)出警告。

              3 對邊界情況的測試是必不可少的。那些難以被測試的代碼,可以把它們重構(gòu)得更加簡單,而如果真的無法簡化他們的話,也應該想辦法嚴格測試它們,不管多么困難。因為復雜的事情更需要測試

              4 永遠保持把測試作為構(gòu)建過程的一部分。軟件中最奇怪的事情,莫過于在修改一塊完全不相關的代碼時,不小心出發(fā)的“副作用”。有了單元測試這張安全網(wǎng),確實能替你節(jié)省很多的時間和力氣。

              5 有一套健壯的單元測試,允許你進行一些異想天開的重構(gòu)游戲(進行大量的修改,然后運行測試來看看這些修改所帶來的影響)。記得第一次和一些已經(jīng)習慣于單元測試的開發(fā)人員一起動手修改代碼時,我也是非常緊張,因為大量的修改往往會破壞很多東西,但他們看起來絲毫沒有猶豫。逐漸地,我也放下心來,因為我慢慢的認識到:有了測試的保證,完全可以發(fā)信大膽地去修改代碼。

             

            以上幾條,的確是金玉良言啊!往往開發(fā)的成敗與否,都在如此細節(jié)與習慣當中。

            posted on 2010-08-24 20:28 Sosi 閱讀(181) 評論(0)  編輯 收藏 引用 所屬分類: Books

            統(tǒng)計系統(tǒng)
            伊人精品久久久久7777| 九九热久久免费视频| 色综合久久夜色精品国产| 久久99热这里只有精品国产| 国产91色综合久久免费| 亚洲国产成人久久一区久久| 狠狠色丁香婷婷久久综合 | 国产成人综合久久精品尤物| 亚洲精品午夜国产VA久久成人| 日韩亚洲欧美久久久www综合网| 久久精品国产亚洲AV影院| 久久香蕉国产线看观看精品yw | 久久免费国产精品一区二区| 青青青青久久精品国产h久久精品五福影院1421 | 精品久久久久久国产牛牛app| 亚洲а∨天堂久久精品| 成人久久精品一区二区三区| 伊人色综合九久久天天蜜桃| 国产精品岛国久久久久| 伊人久久大香线蕉亚洲| 99精品久久久久久久婷婷 | 性做久久久久久久久| 99久久免费国产特黄| 狠狠精品久久久无码中文字幕 | 亚洲午夜久久久久久噜噜噜| 久久久久久一区国产精品| 久久99精品国产麻豆蜜芽| 久久亚洲精品无码AV红樱桃| 久久婷婷色香五月综合激情| 人人狠狠综合久久亚洲| 青青国产成人久久91网| 久久久久一区二区三区| 久久国产精品99精品国产| 91精品国产91热久久久久福利| 久久国产成人| 精品久久久久久无码免费| 91精品国产91久久久久久| 久久91精品国产91久久麻豆| 欧美精品丝袜久久久中文字幕| 少妇人妻综合久久中文字幕| 日本国产精品久久|