知识卡片

单元测试反过来会倒逼出更好的模块设计

普通读书笔记卡 · 1804.d

内容

单元测试常被当作”验证代码正确”的手段,但”设计之城”经验说明它还塑造设计本身:代码单元要能在测试里被单独构造出来,不需系统其他部分搭好,这约束逼着开发者写出边界清晰、可独立存在的模块,自然带来[[内聚与耦合是评估模块设计质量的两把尺子|高内聚低耦合]]。完整测试网也让重大内部调整时敢大胆改动。

参考来源

- 位置:《架构之美》第2章《两个系统的故事:现代软件神话》2.2.2节《故事展开》"单元测试打造了设计"(源文件:程序之美系列套装(6册)团队之美、项目管理之美、架构之美、数据之美、测试之美、安全之美/_epub-src/OEBPS/Text/part0109.xhtml) - 结论依据:原文明确"单元测试的另一个主要好处在于,它们在很大程度上定型了代码设计:它们实际上迫使我们实现好的结构。每个小的代码组件都被定型成定义良好的实体,可以独立存在,因为它必须能够在单元测试中构造出来……编写单元测试确保了每个代码模块的内聚性,也确保了与系统其他部分之间的松耦合"。 - 原始内容:单元测试的另一个主要好处在于,它们在很大程度上定型了代码设计:它们实际上迫使我们实现好的结构……编写单元测试确保了每个代码模块的内聚性,也确保了与系统其他部分之间的松耦合。单元测试迫使我们仔细考虑每个单元的接口。