《代码整洁之道》第12章 迭进 - 笔记
好的设计是如何形成的?
章节核心: 好的软件设计不是完全靠前期庞大的设计方案来完成的,而更多地是在持续的编码、测试和重构过程中,“涌现”或“演进”出来的。
设计不是一次性的前期活动
- 大白话: 作者认为,虽然前期设计很重要,但试图在写代码之前就把所有细节和架构都完美规划好,既困难也不现实。需求会变,我们对问题的理解也会加深。
- 核心思想: 设计是一个持续的过程,它贯穿于整个开发周期。
设计是实践的产物
- 大白话: 好的设计不是凭空想出来的,而是在动手解决问题、编写代码的过程中“长”出来的。
- 如何“长”出来? 主要通过以下实践:
-
- 测试驱动开发 (TDD): 回忆第九章,TDD 是“红-绿-重构”的循环。这是“迭进”的引擎。你在“红”阶段明确需求,在“绿”阶段让功能工作起来,然后在**“重构”阶段**去改进设计。
- 持续应用整洁代码原则: 在 TDD 的“重构”阶段,你就是在应用前面章节讲的各种整洁代码原则(函数要小、类要单一职责、命名要清晰、消除重复等)来改进你的代码结构。
简单设计四条规则
- 让所有测试通过: 这是首要原则,确保功能的正确性是基础。
重构做的事:
- 消除重复: 重复是整洁代码的大敌,消除重复自然会促进代码的抽象和模块化。
- 表达程序员的意图: 代码应该清晰地表达作者想做什么(通过好的命名、小的代码单元、清晰的结构)。
- 尽量减少类和方法的数量: 在满足上面原则的前提下,保持代码结构的简洁。但要注意,有时候为了消除重复和提高内聚,可能会适当增加类的数量,关键是减少整体的复杂性。