clean code笔记6:边界(引用库或他人代码)
作者:
SimplyY | 来源:发表于
2014-08-08 14:38 被阅读347次
优雅的使用第三方库
- 大多数人是通过花好几天阅读文档,再决定怎么使用,然后编写。最后不免陷入漫长的调试找代码中的缺陷中。因为学习第三方库代码很难,整合第三方代码也很难。
- 优雅的使用第三方库,则应该换一种方法。
优雅的方式:编写学习性测试。
- 找到最基础的文档(用来给第一次使用的人看的),开始阅读文档。每读完几个的api,便开始整合完成你想要的某一个功能,写一个类的一个函数将其封装起来。
- 完成你初步罗列出来的功能便可以开始测试,如果不需要深入理解他人的代码的话,完成所需功能即可。如果想要开发超过百行的有关代码,还是把最基础文档的api全部测试一遍好。
- 测试:对函数分别调用,从中弄懂参数和返回值的真正意义,并以此弄清当前函数整合的所有api干了什么。
- 测试完成后,便应该只用自己封装起来的函数来写自己旳程序。当需要调用新的api,如果这个api属于之前的某个功能,就写进那个功能对应的函数,如果是新的功能,则应该考虑写新的类、新的的函数。
编写学习性测试的好处
- 减少了学习成本,减少了混乱的调试,比以前的方法更有效。
- 当他人的代码更新了后,api作用可能会改变,这时候可能会产生兼容性问题,造成你的程序大范围的出错,而且不易于定位错误,修改代码的代价巨大。而通过编写学习性测试,我们只需将之前编写的函数重新测试一遍,再把出错的函数修改即可。
- 当我们需要的代码还未存在的时候,我们可以编写类似于学习测试的代码,原理仍是通过所需功能来编写函数,这叫做adapter模式。我们通过这种模式,将所需功能写出,因为这样一切我们程序所需调用的函数接在我们的掌控之中,而不是他人的改动的代码。这就类似于一个过渡层,通过它,我们将不同人编写的代码融合。
adapter模式的具体实现
20140808000917229.jpg
20140808000809837.jpg
本文标题:clean code笔记6:边界(引用库或他人代码)
本文链接:https://www.haomeiwen.com/subject/mwretttx.html
网友评论