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