第12章:迭进

12.1 通过迭进设计达到整洁目的
开发时要遵循简单设计的5条规则
12.2 规则1:运行所有测试
全面测试并持续通过所有测试的系统就是可测试的系统。
12.3 规则2:重构
提升内聚性,降低耦合度,切分关注面,模块化系统性关注面,缩小函数和类的尺寸,选用更好的名称等。
如何理解重构?不改变软件可观察行为的前提下,改善其内部结构,以提高理解性和降低修改成本。作为开发者, 应当把重构作为开发的一部分,一边开发一边重构。在快速堆叠代码,实现基本需求功能的基础上,写好测试用例,保证功能不变,逐步重构。
12.4 规则3:不可重复
重复意味着额外的工作、风险和不必要的复杂度,其表现为代码重复,功能实现重复等。另外,小规模复用可大量降低系统复杂性。如何理解小规模复用?模板方法模式是一种移除高层及复用的通用技巧。
12.5 规则4:表达力
以下方式可以增强表达力:(1)选用好名称;(2)保持函数和类的短小;(3)采用标准命名法;(4)编写良好的单元测试;(5)不断尝试。
12.6 规则5:函数和类数量要少
这个看似与保持函数和类短小相悖,但是却不然,总能达到函数和类短小且函数和类数量少的一个平衡。