使用第三方代码
有时候我们在使用第三方程序包或者开源代码的时候,或者依靠公司其他团队的代码,我们都得干净利落的的整合进自己的代码中。说白了,就是需要自己根据自己的业务添加一层封装来使用这些第三方库更为合适。
学习性测试
学习性测试毫无成本。无论如何我们都得学习要使用的 API,而编写测试则是获得这些知识的容易而不会影响其他工作的途径。学习性测试是一种精确试验,帮助我们增进对 API 的理解。
无论你是否需要通过学习性测试来学习,总要有一系列与生产代码中调用方式一致的输出测试来支持整洁的边界。不使用这些边界测试来减轻迁徙的劳力,我们可能会超出应有时限,长久地绑在旧版本上面。
使用尚不存在的代码
还有一种边界,那种将已知和未知分隔开的边界。在代码中总有许多地方是我们的知识未及之处。有时,边界那边就是未知的。有时,我们并不往边界那边看过去。
其实在我的理解中,这个使用上不存在的代码就像我们所使用的的 mock 数据,使用尚不存在的代码模拟尚不存在的数据。书中的提到的模拟 API 的代码同理,还没有开发好API,但又不能影响到我们的开发进度,所以我们先可以定义好自己想要的接口。如果第三方ok了,我们再对接起来。
整洁的边界
边界上会发生有趣的事。改动就是其中之一。
有良好的软件设计,无需巨大投入和重写即可进行修改。在使用我们控制不了的代码时,必须加倍小心保护投资,确保未来的修改不至于代价太大。
边界上的代码需要清晰的分割和定义了期望的测试。应该避免我们的代码过多地了解第三方代码中的特定信息。