软件重构-笔记
軟件重構-筆記
代碼重構就是在不改變軟件系統外部行為的前提下,改善它的內部結構。
重構也就是在軟件開發過程中,在需要的時候進行軟件的結構與設計調整,包括代碼整理。
與傳統的先設計再寫代碼不同的是,重構是邊開發邊設計,設計與開發并進。
但并不是說重構就不需要做初始設計<一開始完全不進行設計而直接寫代碼>。
重構是在一定的初始設計基礎上,在有了一個足夠合理的軟件結構的基礎上進行的,在開發過程中發現不足時調整設計與代碼。這里的初始設計不像傳統設計那樣刻求完美靈活可擴展等。
重構的特點非常適用于敏捷式開發。
重構的時機,什么時候需要重構?
1,發現重復代碼。比如幾個函數反復調用同一段幾乎相同的代碼,這時就應該把這段功能封裝為函數供使用。兩個類有相同的功能就應該重構這兩個類。
2,發現類過大,函數過長。應該拆分類為細化的小類,拆分函數為功能單一的小函數。
3,發現有兩個類有相似之處,應該考慮抽出共同點放到一個新類中。發現有兩個功能相似的模塊如字符串處理,看是不是團隊間兩個不同成員寫的,這是由于團隊缺乏溝通,各做各的,在兩方不知情的情況下各自開發出了相同的功能模塊,做了無用功。
4,發現一個類頻繁的調用另一個類,就應該考慮是不是該將兩個類合為一個類。發現兩個類之間相互頻繁的調用,就應該考慮是不是從兩者中抽象另外一個類來消除兩個類之間的耦合。
5,發現過長的調用鏈,一個類要經過好幾步中間調用才調用到另一個類,就應該考慮設計是不是過度封裝了,是不是有其它問題。
6,發現修改代碼時牽一發而動全身,就應該考慮是不是設計的抽象度不夠或代碼功能過度分散導致的。
7,發現當前架構應對新需求時有些捉急,為了支持新功能必須做一些扭曲的處理或臨時的茍且,這時就應該考慮擴展現有架構甚至要重新設計。
8,發現舊模塊無人能懂,非常難理解,或舊模塊問題很多,去修復它估計要花很大代價,這時就應該考慮是否放棄舊模塊重新寫一個。
posted on 2016-10-27 12:11 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏
總結
- 上一篇: 托管执行过程
- 下一篇: LUA GC 简单测试