Litong's Blog

Work to become, not to acquire.

第12章 迭进

简单设计规则:

如果缺乏验证系统是否真按预期那样工作的简单方法,那就无异于纸上谈兵。

全面测试并持续通过所有测试的系统,就是可测试的系统。

不可测试的系统同样不可验证。不可验证的系统,绝不应部署。

只要系统可测试,就会导向保持类短小切目的单一的设计方案。

测试编写越多,就越能持续走向编写较易测试的代码,就越会遵循DIP之类的规则,系统就会更贴近OO低耦合度。

提升内聚性,降低耦合度,切分关注面,模块化系统性关注面,缩小函数和类的尺寸,选用更好的名称。

消除重复,保证表达力,尽可能减少类和方法的数量。

重复是拥有良好设计系统的大敌。它代表着额外的工作、额外的风险和额外且不必要的复杂度。

“小规模复用”可大量降低系统复杂性。

模板方法模式是一种移除高层级重复的通用技巧。

软件项目的主要成本在于长期维护。代码应当清晰地表达其作者的意图。

可以通过选用好名称来表达。

也可以通过保持函数和类尺寸短小来表达。

还可以通过采用标准命名法来表达。

编写良好的单元测试也具有表达性。

做到表达力的最重要的方式是不断尝试。

时时照拂自己创建的东西。用心是最珍贵的资源。

类和方法的数量太多,有时是由毫无意义的教条主义导致的。

应该抵制这类教条,采用更实用的手段。

在保持函数和类短小的同时,保持整个系统短小精悍。但更重要的是测试、消除重复和表达力。

遵循简单设计的实践手段。