将外来代码干净利落地整合进自己的代码

8.1 使用第三方代码

不要处处直接与第三方接口对话,可以封装一个接口统一对接外部

8.2 浏览和学习边界

为要使用的第三方代码编写测试
学习性测试 :不要在生产代码中试验新东西,而是编写测试来遍览和理解第三方代码

8.3 学习log4j

8.4 学习性测试的好处不只是免费

增进对API的理解,能马上发现第三方程序包的不兼容。
当第三方程序包发布了新版本,我们可以运行学习性测试,看看程序包的行为有没有改变。

8.5 使用尚不存在的代码

把我们希望得到的接口编写出来放着。
Transmitter Adapter — Transmitter API
Adapter: 与API互动,当API发生变动时唯一需要改动的地方。
拿到第三方Transmitter API之前,用FakeTransmitter测试现有类;拿到之后也能创建API边界测试。

8.6 整洁的边界

避免我们的代码过多地了解第三方代码中的 特定 信息。

  1. 代码中少数基础引用第三方边界接口
  2. ADAPTER模式将我们的接口转换为第三方提供的接口(封装)