代码整洁之道 阅读笔记三

第八章 边界

  1. 对第三方进行学习性测试,当第三方程序包发布了新的版本,我们可以允许学习性测试,看看程序包的行为有没有发生改变。P110
  2. 使用尚不存在的代码,有时候我们的第三方,还没有开发好API,但又不能影响到我们的开发进度,所以我们先可以定义好自己想要的接口。如果第三方ok了,我们再对接起来。P110
  3. 通过接口管理第三方边界,可以使用ADApter模式将我的接口转换为第三方提供的接口。这个是要注意,第三方的代码和自己的代码混合太多,这样不便管理。P111

第九章 单元测试

  1. TDD三定律。P114
  • 除非这能让失败的单元测试通过,否则不允许去编写任何的生产代码。
  • 只允许编写刚好能够导致失败的单元测试。 (编译失败也属于一种失败)
  • 只允许编写刚好能够导致一个失败的单元测试通过的产品代码。
  1. 每个测试一个概念。P122
  2. FIRST原则。P123
  • 快速:测试应该能快速运行,太慢了你就不会频繁的运行,就不会尽早的发现问题。
  • 独立:测试应该相互独立,某个测试不应该为下个测试设定条件。当测试相互依赖,一个没通过导致一连串的测试失败,使问题诊断变的困难。
  • 可重复:测试应该可以在任何环境中重复通过。
  • 自足验证:测试应该有布尔值输出,无论通过或失败,不应该是查看日志文件去确认
  • 及时:单元测试应该恰好在使其通过的生产代码之前编写。



原文地址:https://www.cnblogs.com/2940500426yingxin/p/14209267.html