31天重構指南

2021-09-16 18:17:29 字數 1281 閱讀 4985

**重構(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...