閱讀《重構 改善既有代碼的設計》,裏面有些概念總結得很好,看了豁然開朗。摘一些要點出來。
重構定義
- 重構(名詞):對軟件內部結構的一種調整,目的是在不改變軟件可觀察行爲的前提下,提高其可理解性,降低其修改成本。
- 重構(動詞):使用一系列重構手法,在不改變軟件可觀察行爲的前提下,調整其結構。
爲何重構
- 重構改進軟件設計
- 重構使軟件更容易理解
- 重構幫助找到bug
- 重構提高變成速度
何時重構
- 添加功能時,修補錯誤時,複審代碼時。
- 三次法則:事不過三,三則重構。
重構的切入點
如果你需要爲程序添加一個特性,而代碼結構使你無法很方便地達成目的,那就先重構程序,使特性的添加比較容易進行,然後再添加特性。
重構要點
重構就是以微小的步伐修改程序。如果你犯下錯誤,很容易便可發現它。
重構的第一步
爲即將修改的代碼建立一組可靠的測試環境。(第四章)
重構方法
- 重構方法1:分解長函數。Extract Method工具。修改抽出函數裏的變量名稱。
- 重構方法2:搬移代碼。Move method工具。
- 重構方法3:去除一些臨時變量。(引發性能代價問題,P69再說)。
- 重構方法4:繼承,子類化動作。引入State模式。
- tip: IDE工具要用起來。 整理代碼,提供了一種更高效且受控的代碼整理技術。
參考
- 《重構 改善既有代碼的設計》