第十二章 迭进
-
通过迭进设计达到整洁目的
Kent Beck的简单设计四条规则:
- 运行所有测试
- 不可重复
- 表达了程序员的意图
- 减少类和方法的数量
-
规则一:运行所有的测试
只要系统可测试,就会导向保持类短小且目的单一的设计方案。紧耦合的代码很难编写测试,同样编写测试越多,代码就会越遵循DIP之类原则,使用依赖注入、接口和抽象等工具来减少耦合。另外测试消除了对清理代码就会破坏代码的恐惧。
-
重构(规则二 ~ 规则四):
重构过程中可以提升内聚性,降低耦合度,切分关注面,模块化系统性关注面,缩小函数和类的尺寸,选用更好的名称等等。
-
规则二:不可重复
重复代表额外的工作、额外的风险和额外且不必要的复杂度。小规模复用可大量降低系统复杂性。
设计模式——模板方法模式coming out是一种一处高层级重复的通用技巧。 -
规则三:表达力
代码应当清晰的表达作者的意图,其他人理解代码的时间也会少,从而减少缺陷,缩减维护成本。
-
规则四:尽可能减少的类和方法
我们在保持函数和类短小的同时,也要保持整个系统短小精悍。这条规则优先级最低,更重要的是测试、消除重复和清晰的表达力。