《代码整洁知道》阅读笔记(二)

开发的时候可能我们会用到第三方包和使用开源代码或者是其他团队的开发的组件系统,不管是那种情况我们都得干净整洁的整合经自己的代码中。

所谓边界就是指外来代码和自己写的代码之间进行整合的连接区域。

1.使用第三方代码

第三方程序包和框架提供者追求普适性,这样能在多个环境中工作,吸引广泛的用户。而使用者则想要集中满足特定需求的接口。这样的情况可能会导致系统边界出现问题。

例子:


2.浏览和学习边界

如果第三方代码库的使用方法并不清楚,我们可能会花很多时间阅读文档再决定如何使用。在不了解的情况下不要在生产代码中试新东西,而是编写测试来浏览和理解第三方代码。Jim Newkirk把这叫做学习性测试。通过学习性测试,来检测自己对API的理解程度。

3.学习log4j

编写测试用例来学习第三方程序的API,再根据自己的需要进行封装,将应用程序的其他部分与log4j的边界接口隔离开来。

4.学习行测试的好处不只是免费

学习性测试的好处不光免费,还在投资上有正面回报,当第三方程序包发布了新版本,我们可以运行学习性测试,看看程序包的行为有没有改变。

5.使用尚不存在的代码

使用不存在的代码时,可以先定义自己需要的接口,然后编写类调用接口。当第三方程序或者开源代码暂时还没有提供我们所需的API时,可以暂时根据具体业务,定义我们所需的API,并使用。等真实的API被开发出来,再接入相应的接口。这样的好处是,有助于保持客户代码更可读,且集中于它该完成的工作。

6.整洁的边界

边界上肯跟会发生的事有很多,改动是其中之一。有良好的软件设计,无需巨大投入和重写即可进行修改。在使用我们控制不了的代码时,必须加倍小心保护投资,确保未来的修改不至于代价太大。

7.总结

保持边界整洁,可以避免我们的代码过多依赖第三方程序的内部实现细节,减少第三方程序对我们代码的入侵程度,尽可能降低因第三方程序修改而对我们代码产生的影响。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容