一、使用第三方代码
在接口提供者和使用者之间,存在与生俱来的张力。第三方程序包和框架提供者追求普适性,这样就能在多个环境中工作,吸引广泛的用户。而使用者想要集中满足特定需求的接口,这种张力会导致系统边界上出现问题。
二、浏览和学习边界
学习第三方代码很难。整合第三方代码页很难。同时做这两件事难上加难。更好的做法是,不要在生产代码中实验新东西,而是编写测试来遍览和理解第三方代码。即学习型测试。
三、学习log4j
四、学习性测试的好处不只是免费
学习性测试不光免费,还在投资上有正面的回报。当第三方程序包发布了新版本,我们可以运行学习性测试,看看程序包的行为有没有改变。
五、使用尚不存在的代码
还有另一种边界,那种将已知和未知分隔开的边界。在代码中总有许多地方是我们的知识未及之处。有时,边界那边就是未知的(至少目前未知)。有时,我们并不往边界那边看过去。
六、整洁的边界
依靠你能控制的东西,好过依靠你控制不了的东西,免得日后受它控制。