ivaneeo's blog

          自由的力量,自由的生活。

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
          當(dāng)有人說[噢,我想我們總有一天需要做這事]并因而企圖以各式各樣得掛鉤(hooks)和特殊情況來處理一些非必要的事情,這種壞味道就出現(xiàn)了。那么做的 結(jié)果往往造成系統(tǒng)更難理解和維護。如果所有裝置都會被用到,那就值得那么做;如果用不到,就不值得。用不上得裝置只會擋你得路,所以,把它搬開吧。

          如果你的某個abstract class其實沒有太大作用,請運用Collapse Hierarchy(334)。非必要之delegation(委托)可運用Inline Class(154)除掉。如果函數(shù)的某些參數(shù)未被用上,可對它實施Remove Parameter(277)。如果函數(shù)名稱帶有多余的抽象意味,應(yīng)該對它實施Rename Method(273)讓它實現(xiàn)一些。

          如果函數(shù)或class的唯一用戶是test cases(測試用例),這就飄出了壞味道Speculative Generality。如果你發(fā)現(xiàn)這樣的函數(shù)或clss,請把它們連同其test cases都刪掉。但如果它們的用途是幫助test cases檢測正當(dāng)功能,當(dāng)然必須刀下留人。
          posted on 2005-08-19 15:07 ivaneeo 閱讀(417) 評論(0)  編輯  收藏 所屬分類: refactoring-從地獄中重生
          主站蜘蛛池模板: 宜章县| 潮州市| 始兴县| 新田县| 枣阳市| 永吉县| 黎平县| 顺昌县| 南靖县| 洛扎县| 泸溪县| 疏附县| 镶黄旗| 永济市| 托里县| 漾濞| 芮城县| 赤水市| 海阳市| 壤塘县| 社会| 安远县| 论坛| 名山县| 手机| 四子王旗| 永登县| 安陆市| 留坝县| 沭阳县| 洪雅县| 阜城县| 淄博市| 梨树县| 绍兴市| 都江堰市| 新巴尔虎左旗| 水富县| 湟中县| 柏乡县| 四平市|