第12章 迭进
简单设计规则:
- 运行所有测试
- 不可重复
- 表达了程序员的意图
- 尽可能减少类和方法的数量
如果缺乏验证系统是否真按预期那样工作的简单方法,那就无异于纸上谈兵。
全面测试并持续通过所有测试的系统,就是可测试的系统。
不可测试的系统同样不可验证。不可验证的系统,绝不应部署。
只要系统可测试,就会导向保持类短小切目的单一的设计方案。
测试编写越多,就越能持续走向编写较易测试的代码,就越会遵循DIP之类的规则,系统就会更贴近OO低耦合度。
提升内聚性,降低耦合度,切分关注面,模块化系统性关注面,缩小函数和类的尺寸,选用更好的名称。
消除重复,保证表达力,尽可能减少类和方法的数量。
重复是拥有良好设计系统的大敌。它代表着额外的工作、额外的风险和额外且不必要的复杂度。
“小规模复用”可大量降低系统复杂性。
模板方法模式是一种移除高层级重复的通用技巧。
软件项目的主要成本在于长期维护。代码应当清晰地表达其作者的意图。
可以通过选用好名称来表达。
也可以通过保持函数和类尺寸短小来表达。
还可以通过采用标准命名法来表达。
编写良好的单元测试也具有表达性。
做到表达力的最重要的方式是不断尝试。
时时照拂自己创建的东西。用心是最珍贵的资源。
类和方法的数量太多,有时是由毫无意义的教条主义导致的。
应该抵制这类教条,采用更实用的手段。
在保持函数和类短小的同时,保持整个系统短小精悍。但更重要的是测试、消除重复和表达力。
遵循简单设计的实践手段。