阅读篇 重构:改善既有代码的设计(15)-总结 如何学习随时挑一个目标没把握就停下来学习原路返回二重奏,和别人一起重构要点列表第7页如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便 地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。 第8页重构前,先检查自己是否有一套可靠的测试机制。这些测试必须有自我 检验能
阅读篇 重构:改善既有代码的设计(13)-重构,复用与现实. 13.1现实的检验13.2为什么开发者不愿意重构他们的程序重构以求短期利益降低重构带来的开销安全的进行重构13.3再论现实的检验13.4重构的资源和参考资料13.5从重构联想到软件复用和技术传播
阅读篇 重构:改善既有代码的设计(12)-大型重构 12.1TeaseApartInheritance(梳理并分解继承体系)某个继承体系同时承担两项责任.建立两个继承体系,并通过委托关系让其中一个可以调用另一个.12.2ConvertProceduralDesigntoObject(将过程化设计转化为对象设计)你手上有一些传统过程化风格的代码.将数据
阅读篇 重构:改善既有代码的设计(11)-处理概括关系 有一批重构手法专门用来处理类的概括关系(generalization,即继承关系),其中主要是将函数上下移动于继承体系之中。PullUpField(320)和PullUpMethar(322)都用于将特性向继承体系的上端移动,PushDownMethod(328)和PushDownField(3
阅读篇 重构:改善既有代码的设计(9)-简化条件表达式 条件逻辑有可能十分复杂,因此本章提供一些重构手法,专门用来简化它下们。其中一项核心重构就是DecomposeConditinal(238),可将一个复杂的条件逻辑分成若干小块。这项重构很重要,因为它使得"分支逻辑"和"操作细节"分离。 本章的其余重构手