Target
Refactoring book 閱讀筆記
Action Items
- CH 1 Refactoring a First Example
 - CH 2 Principles in Refactoring
 - CH 3 Bad smells in Code
 
Quick Start
CH 1 Refactoring a First Example
1.3 分解並重組Statement()
- 函式應該放在它所使用的資料的所屬 object 內。
 
1.4 運用多型(polymorphism)取代與價格相關的條件邏輯
switch -> 應該要在物件自己的資料上使用。
CH 2 Principles in Refactoring
2.1 何謂重構
- 對軟體內部結構的一種調整,目的是在不改變『軟體之可察行為』前提下,
 
提高其可理解性,降低其修改成本。- 使用一系列重構準則,在不改變『軟體之可察行為』前提下,調整其結構。
 
2.5 重構的難題
修改介面 Changing Interfaces
讓舊介面呼叫新介面。
千萬不要拷貝函式實作碼,會造成『重複程式碼』(duplicated code)。何時不該重構?
- 現有程式碼太過混亂,且不能正常運行。
 - 專案已近最後期限。
 
CH 3 Bad smells in Code
3.1 Duplicated Code
常出現的地方:解決方式
- 同一個class:Extract Method
 - subclass:Extract Method
 - 不同的class:Extract Class
3.2 Long Method
Solution: Extract Method3.3 Large Class
Solution: Extract Class, Extract Subclass