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