第1章 本書的寫作緣由
1.1 過度設計
1.2 模式萬靈丹
1.3 設計不足
1.4 測試驅動開發(fā)和持續(xù)重構
1.5 重構與模式
1.6 演進式設計
第2章 重構
2.1 何謂重構
2.2 重構的動機
2.3 眾目睽睽
2.4 可讀性好的代碼
2.5 保持清晰
2.6 循序漸進
2.7 設計欠賬
2.8 演變出新的架構
2.9 復合重構與測試驅動的重構
2.10 復合重構的優(yōu)點
2.11 重構工具
第3章 模式
3.1 何謂模式
3.2 模式癡迷
3.3 實現模式的方式不止一種
3.4 通過重構實現、趨向和去除模式
3.5 模式是否會使代碼更加復雜
3.6 模式知識
3.7 使用模式的預先設計
第4章 代碼壞味
4.1 重復代碼(Duplicated Code)
4.2 過長函數(Long Method)
4.3 條件邏輯太復雜(Conditional Complexity)
4.4 基本類型偏執(zhí)(Primitive Obsession)
4.5 不恰當的暴露(Indecent Exposure)
4.6 解決方案蔓延(Solution Sprawl)
4.7 異曲同工的類(Alternative Classes with Different Interfaces)
4.8 冗贅類(Lazy Class)
4.9 過大的類(Large Class)
4.10 分支語句(Switch Statement)
4.11 組合爆炸(Combinatorial Explosion)
4.12 怪異解決方案(Oddball Solution)
第5章 模式導向的重構目錄
第6章 創(chuàng)建
第7章 簡化
第8章 泛化
第9章 保護
第10章 聚集操作
第11章 實用重構
跋
參考文獻
索引