壞味道(英文)壞味道(中文)頁碼常用重構Alermative Classes with Different Interfaces異曲同工的類83改變函數聲明(124)搬移函數(198)提煉函數(375)Comments註釋84提煉函數(106)改變函數聲明(124)引入斷言(302)Data Cla... ...
壞味道(英文) | 壞味道(中文) | 頁碼 | 常用重構 |
---|---|---|---|
Alermative Classes with Different Interfaces | 異曲同工的類 | 83 | 改變函數聲明(124) 搬移函數(198) 提煉函數(375) |
Comments | 註釋 | 84 | 提煉函數(106) 改變函數聲明(124) 引入斷言(302) |
Data Class | 純數據類 | 83 | 封裝記錄(162) 移除設值韓素(331) 搬移函數(198) 提煉函數(106) 拆分階段(154) |
Data Clumps | 數據泥團 | 78 | 提煉類(182) 引入參數對象(140) 保持對象完整(319) |
Divergent Change | 發散式變化 | 76 | 拆分階段(154) 搬移函數(198) 提煉函數(106) 提煉類(182) |
Duplicated Code | 重覆代碼 | 72 | 提煉函數(106) 移動語句(223) 函數上移(350) |
Feature Envy | 依戀情結 | 77 | 搬移函數(198) 提煉函數(106) |
Global Data | 全局數據 | 74 | 封裝變數(132) |
Insider Trading | 內幕交易 | 82 | 搬移函數(198) 搬移欄位(207) 隱藏委托關係(189) 以委托取代子類(381) 以委托取代超類(399) |
Large Class | 過大的類 | 82 | 提取類(182) 提煉超類(375) 以子類取代類型碼(362) |
Lazy Element | 冗贅的元素 | 80 | 內聯函數(115) 內聯類(186) 摺疊繼承體系(380) |
Long Function | 過長函數 | 73 | 提煉函數(106) 以查詢取代臨時變數(178) 引入參數對象(140) 保持對象完整(319) 以命令取代函數(337) 分解條件表達式(260) 以多態取代條件表達式(272) 拆分迴圈(227) |
Long Parameter List | 過長參數列 | 74 | 以查詢取代臨時變數(178) 保持對象完整(319) 引入參數對象(140) 移除標記參數(314) 函數組合成類(144) |
Loops | 迴圈語句 | 79 | 以管道取代迴圈(231) |
Message Chains | 過長的消息鏈 | 81 | 隱藏委托關係(189) 提煉函數(106) 搬移函數(198) |
Middie Man | 中間人 | 81 | 移除中間人(192) 內聯函數(115) 以委托取代超類(399) 以委托取代子類(381) |
Mutable Data | 可變數據 | 75 | 封裝變數(132) 拆分變數(240) 移動語句(223) 提煉函數(106) 將查詢函數和修改函數分離(306) 移除設值函數(331) 以查詢取代派生變數(248) 函數組合成類(144) 函數組合成變換(149) 將引用對象改為值對象(252) |
Mysterious Name | 神秘命名 | 72 | 改變函數聲明(124) 函數改名(137) 欄位改名(244) |
Primitive Obsession | 基本類型偏執 | 78 | 以對象取代基本類型(174) 以子類取代類型碼(362) 以多態取代條件表達式(272) 提煉類(182) 引入參數對象(140) |
Refunsed Bequest | 被拒絕的遺贈 | 83 | 函數下移(359) 欄位下移(361) 以委托取代子類(381) 以委托取代超類(399) |
Repeated Switches | 重覆的switch | 79 | 以多態取代條件表達式(272) |
Shotgun Surgery | 霰彈式修改 | 76 | 搬移函數(198) 搬移欄位(207) 函數組合成類(144) 函數組合成變換(149) 拆分階段(154) 函數內聯(115) 內聯類(186) |
Speculative Generality | 誇誇其談通用性 | 80 | 摺疊繼承體系(380) 函數內聯(115) 內聯類(186) 改變函數聲明(124) 移除死代碼(237) |
Temporary Field | 臨時欄位 | 80 | 提煉類(182) 搬移函數198 引入特例(192) |