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