無論是接到任務要重新整理程式碼,或是自己想整理凌亂的程式碼,如果知道為何重構,並盡可能實作重構的步驟,就能寫出更容易維護和擴充的程式。
重構的目的
- 使程式變得簡單易懂,更容易追蹤。
- 程式的架構已經不符合新的需求,不容易擴充功能或修改已有邏輯時,也可以重構。
重構的步驟
- 修改前先建立可測試的環境,準備好測試資料與驗證資料。
- 接著可以開始改寫程式。常見的作法,是將單一大型的方法分成多個較小的方法,以符合單一職責原則 (SRP),讓程式更簡單易懂 。
- 改寫時減少對既有邏輯的更動,避免產生額外的錯誤,因為既有邏輯已經通過了現實種種狀況的考驗,也能減少從版本歷史追朔程式碼的困難。
- 進行測試,測試資料的結果若為正確 (例如與驗證資料相同),才能簽入至版本控制系統。
其他人如何重構
- 一些程式邏輯的建議寫法 (簡體中文): 编程的智慧
- 如何對待過往的程式碼 (簡體中文): 什么是现实理想主义者
- 面對 Legacy Code ,該重構還是重寫?
- 一些重構的原則與方法: 重構或重寫 Legacy code 的幾個階段
- 對於重構的兩則常見誤解 - iThome
- [Day 11]Refactoring - 讓程式碼說話 - iT 邦幫忙