重構第0天--重構的理解

  最近有幸,發現一個博友的博客中對代碼重構,作了一番簡單的講解。以爲很不錯,比較淺顯移動,一口氣讀完了。今天經過本身的理解,翻譯一下,可能有不少不對的地方,請你們指正。共同窗習,共同進步。html

  原博客地址:https://lostechies.com/seanchambers/2009/07/31/31-days-of-refactoring/  web

  隨着時間的推移,重構是提高代碼質量不可或缺的一部分。沒有重構,慢慢的就會積累不少的技術債務。忘記代碼的實現部分,首先創建代碼的測試部分。這就比較像TDD(測試驅動開發)。這個概念其實很簡單,就是經過寫測試單元,來構建學習

更健壯的,bug更少的代碼。關於TDD測試驅動開發,雖然概念簡單,可是內容仍是比較多的,你們能夠看看關於測試驅動開發部分的相關資料。測試

         因爲重構的重要性,我用31天這樣一個概念來共同窗習一下。我會經過本身的理解來說述,可能存在喝多歧義和正確性。在我實際寫完博客以前,我不會先列出一個列表來展現後面的內容。每當我寫完一章,我會及時在這裏更新鏈接。spa

        重構的主要內容來自Refactoring.com,有一部分來自於Code Complete 2nd Edition(代碼大全),剩下的一部分來自於我在工做中的總結。我以爲這些內容來自哪裏,並非最重要的,或許你在其餘的博客和書上可以看到相同的重構名稱。翻譯

        明天開始我會持續寫完這個專題,但願你們可以從中學到關於重構的一些東西,也但願你們指正錯誤,共同窗習。設計

          Day1:封裝集合  http://www.cnblogs.com/yplong/p/5276598.htmlorm

          Day2:方法搬移  http://www.cnblogs.com/yplong/p/5278394.htmlhtm

      Day3:方法提公  http://www.cnblogs.com/yplong/p/5278506.html對象

      Day4:方法下降  http://www.cnblogs.com/yplong/p/5285371.html

          Day5:提高字段  http://www.cnblogs.com/yplong/p/5285427.html

          Day6: 下降字段  http://www.cnblogs.com/yplong/p/5285457.html

          Day7: 重命名     http://www.cnblogs.com/yplong/p/5289612.html

          Day8:  使用委託來代替繼承  http://www.cnblogs.com/yplong/p/5295866.html

          Day9:提取接口  http://www.cnblogs.com/yplong/p/5300096.html

          Day10:提取方法  http://www.cnblogs.com/yplong/p/5300144.html

          Day11:策略模式代替Switch  http://www.cnblogs.com/yplong/p/5308648.html

          Day12:依賴分解  http://www.cnblogs.com/yplong/p/5318576.html

             Day13:抽取方法對象 http://www.cnblogs.com/yplong/p/5362434.html

             Day14:職責分離 http://www.cnblogs.com/yplong/p/5362567.html

             Day15:移除重複代碼 http://www.cnblogs.com/yplong/p/5362603.html

              Day16 封裝條件語句 http://www.cnblogs.com/yplong/p/5362663.html

             Day17:抽取父類 http://www.cnblogs.com/yplong/p/5373012.html

             Day18:用條件語句代替異常 http://www.cnblogs.com/yplong/p/5373025.html

             Day19 提取工廠類 http://www.cnblogs.com/yplong/p/5373045.html

             Day20 提取子類 http://www.cnblogs.com/yplong/p/5373076.html

             Day21 封裝繼承 http://www.cnblogs.com/yplong/p/5373095.html

      Day22 分解方法 http://www.cnblogs.com/yplong/p/5374000.html

             Day23  引入參數  http://www.cnblogs.com/yplong/p/5374015.html

             Day24  分解複雜的判斷 http://www.cnblogs.com/yplong/p/5374031.html

             Day25 引入契約設計 http://www.cnblogs.com/yplong/p/5374050.html

             Day26 移除雙重否認 http://www.cnblogs.com/yplong/p/5381369.html

             Day27 去除上帝類 http://www.cnblogs.com/yplong/p/5381398.html

             Day28 給bool方法命名 http://www.cnblogs.com/yplong/p/5381432.html

             Day29 去除中間人 http://www.cnblogs.com/yplong/p/5381455.html

             Day30 儘快返回 http://www.cnblogs.com/yplong/p/5381475.html

             Day31使用多態代替條件語句 http://www.cnblogs.com/yplong/p/5381497.html

相關文章
相關標籤/搜索