重构

作者: jaymz明 | 来源:发表于2018-10-26 08:51 被阅读0次

    第一步:为要重构的代码设计可靠的可靠环境。

    可以从以下几个方面开始考虑:

        1.变量名,变量名称是代码清晰的关键

                TIP:任何一个傻瓜都能写出计算机可以理解的代码。惟有写出人类容易理解的代码,才是优秀的程序员。

        2.函数应该放在所属Object(class)内

        3.去掉临时变量,会助长函数变得冗余而复杂

        4.性能问题,一定要通过实际的量化工具来验证,不要想当然

        5.考虑设计模式

    重构是一种高效的且受控的代码整理技术

    Tip: 事不过三,三则重构(Three strikes and you refactor)

    我们希望的程序是这样的:(1)容易理解;(2)所有逻辑都只在唯一地点指定;(3)新的改动不会危及现有行为;(4)尽可能简单表达条件逻辑(conditional logic)

    重构是这样一个过程:它在一个目前可运行的程序上进行,企图在「不改变程序行为」的情况下赋予上述美好性质,使我们能够继续保持高速开发,从而增加程序的价值。

    简言之,如果重构手法改变了已发布接口(published interface〕,你必须同时维护新旧两个接口,直到你的所有用户都有时间对这个变化做出反应。幸运的是这不太困难。你通常都有办法把事情组织好,让旧接口继续工作。请尽量这么做:让旧接口调用新接口。当你要修改某个函数名称时,请留下旧函数,让它调用新函数。千万不要拷贝函数实现码,那会让你陷入「重复代码」(duplicated code)的泥淖中难以自拔。你还应该使用Java提供的(deprecation〕设施,将旧接口标记为code)的泥淖中难以自拔。你还应该使用Java提供的(deprecation〕设施,将旧接口标记为 "deprecated"。这么一来你的调用者就会注意到它了。

    教训:哪怕你完全了解系统,也请实际量测它的性能,不要臆测。臆测会让你学到一些东西,但十有八九你是错的。

    用新方法调用旧方法,并逐渐取代旧方法。

    功能测试注重黑盒,GUI测试。一旦出现功能上的bug,需要先补充单元测试,让单元测试盯着bug,然后再尝试修复。

    测试那些极易出错的地方,并不需要完美的测试。

    相关文章

      网友评论

          本文标题:重构

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