作者趙劼發布於 2023年9月6日 上午11時52分
代 碼重構(refactoring)是指在保持程式外部表現不變的情況下改變其內部實現的做法。重構的目標主要是改進程式的內部質量,例如增加**可讀性, 簡化**結構,增強可維護性、效能或擴充套件性。即使初期設計得再合理,但由於軟體發展本身不可能是完美的,因此重構作為改進**質量的手段,會持續運用在在 軟體開發過程中。
重構領域最著名的資源莫過於martin fowler所著的《重構:改善既有**的設計 》,此外,martin還維護了乙個重構資源站點 ,用於隨時補充重構有關的資訊資料。
八月份,sean chambers 在部落格中編寫了一系列描述重構方式的文章。sean指出,這些重構方式主要**於martin的重構資源站點、**大全(第二版) 以及平時由他自己收集的網際網路資源,他的目的是為各種重構方式提供了一些額外的描述及相關的討論。
封裝集合
移動方法
提公升(pull up)方法
降低(push down)方法
提公升字段
降低字段
改名(方法,類,引數)
使用委派代替繼承
提取介面
提取方法
使用策略類
分解依賴
提取方法物件
分離職責
移除重複內容
封裝條件
提取父類
使用條件判斷代替異常
提取工廠類
提取子類
合併繼承
分解方法
引入引數物件
分解複雜判斷
引入契約式設計
避免雙重否定
去除上帝類
為布林方法命名
去除中間人物件
盡快返回
使用多型代替條件判斷
31天重構指南
重構 refactoring 是指在保持程式外部表現不變的情況下改變其內部實現的做法。重構的目標主要是改進程式的內部質量,例如增加 可讀性,簡化 結構,增強可維護性 效能或擴充套件性。即使初期設計得再合理,但由於軟體發展本身不可能是完美的,因此重構作為改進 質量的手段,會持續運用在在軟體開發過程中。...
31天速成重構
當我看到什麼速成或者多少天學會某種技術時,我泰半會採取懷疑的態度。這屬於典型的標題黨。那麼,重構能夠在31天速成嗎?能,前提作為讀者的你必須具備非常紮實的設計技能,以及豐富的專案經驗。如果真是這樣的讀者,恐怕一周就能速成了吧。開個玩笑。實際上我是想推薦一本書,它的名字叫31 days of refa...
31天速成重構
當我看到什麼速成或者多少天學會某種技術時,我泰半會採取懷疑的態度。這屬於典型的標題黨。那麼,重構能夠在31天速成嗎?能,前提作為讀者的你必須具備非常紮實的設計技能,以及豐富的專案經驗。如果真是這樣的讀者,恐怕一周就能速成了吧。開個玩笑。實際上我是想推薦一本書,它的名字叫31 days of refa...