美文网首页clean code读书笔记clean code程序员
clean code笔记6:边界(引用库或他人代码)

clean code笔记6:边界(引用库或他人代码)

作者: SimplyY | 来源:发表于2014-08-08 14:38 被阅读347次

    优雅的使用第三方库

    1. 大多数人是通过花好几天阅读文档,再决定怎么使用,然后编写。最后不免陷入漫长的调试找代码中的缺陷中。因为学习第三方库代码很难,整合第三方代码也很难。
    2. 优雅的使用第三方库,则应该换一种方法。

    优雅的方式:编写学习性测试。

    • 找到最基础的文档(用来给第一次使用的人看的),开始阅读文档。每读完几个的api,便开始整合完成你想要的某一个功能,写一个类的一个函数将其封装起来。
    • 完成你初步罗列出来的功能便可以开始测试,如果不需要深入理解他人的代码的话,完成所需功能即可。如果想要开发超过百行的有关代码,还是把最基础文档的api全部测试一遍好。
    • 测试:对函数分别调用,从中弄懂参数和返回值的真正意义,并以此弄清当前函数整合的所有api干了什么。
    • 测试完成后,便应该只用自己封装起来的函数来写自己旳程序。当需要调用新的api,如果这个api属于之前的某个功能,就写进那个功能对应的函数,如果是新的功能,则应该考虑写新的类、新的的函数。

    编写学习性测试的好处

    • 减少了学习成本,减少了混乱的调试,比以前的方法更有效。
    • 当他人的代码更新了后,api作用可能会改变,这时候可能会产生兼容性问题,造成你的程序大范围的出错,而且不易于定位错误,修改代码的代价巨大。而通过编写学习性测试,我们只需将之前编写的函数重新测试一遍,再把出错的函数修改即可。
    • 当我们需要的代码还未存在的时候,我们可以编写类似于学习测试的代码,原理仍是通过所需功能来编写函数,这叫做adapter模式。我们通过这种模式,将所需功能写出,因为这样一切我们程序所需调用的函数接在我们的掌控之中,而不是他人的改动的代码。这就类似于一个过渡层,通过它,我们将不同人编写的代码融合。

    adapter模式的具体实现

    20140808000917229.jpg 20140808000809837.jpg

    相关文章

      网友评论

        本文标题:clean code笔记6:边界(引用库或他人代码)

        本文链接:https://www.haomeiwen.com/subject/mwretttx.html