这本书越到后面翻译的越是起飞,这一章的英文标题是 Emergence ,完全不知道这个译者为啥会自造一个词来实现翻译
译者想表达的意思可能是迭代+进化
12.1 通过迭进设计( Emergent Design )达到整洁目的
- 要做到良好的软件设计,需要遵守以下四条规则,顺序按照重要程度排列
- 运行所有测试
- 不可重复
- 表达程序员的意图
- 尽可能减少类和方法的数量
12.2 简单设计规则 1 :运行所有测试
- 全面测试并持续通过了所有测试的系统,就是可测试的系统,就会更稳定
- 确保系统完全可测试能帮助我们更好的设计系统
- 紧耦合的代码难以编写测试,因为在前面的章节中说过,每个测试都应该只测试一个概念
12.3 简单设计规则 2 - 4 :重构
- 递增式的重构代码,一边优化一边测试,可以消除清理代码时对破坏现有代码结构的恐惧感
12.4 不可重复
- 重复是良好设计的大敌
- 重复代表着额外的工作,额外的风险,以及额外的且不必要的复杂度
12.5 表达力
- 写出自己能理解的代码很容易,因为在写这些代码时,自己正着手于解决这些问题
- 但这份代码的其他维护者可能就没有那么容易理解你当时的所思所想
- 所以写出一份让大多数人都能看懂的代码,极大的考验了我们的表达力
12.6 尽可能少的类和方法
- 有时候可以遵守教条主义,就会导致类和方法的数量过多
- 在写代码时还是要根据实际情况考量类和方法是否需要拆分,是否适合拆分,不要一味的艰辛短小就是好的
- 控制类和方法的数量是优先级最低的一条
12.7 小结
- 整洁代码没有捷径,必须是通过大量的实践经验积累而来