重构与重写

来源:互联网 发布:朱苏力 严重问题知乎 编辑:程序博客网 时间:2024/06/11 18:45

在从操作层面上的个人看法:

重构:在原类中改变;

重写:在继承类中改变。

?? 是否有这种逻辑呢?

------------------------------

何谓重构

重构就是一种“保持行为的转换”,或者如Martin Fowler定义的那样:“(重构)是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。”[F, 53]
重构过程包括去除重复、简化复杂逻辑和澄清模糊的代码。重构时,需要对代码无情地针砭,以改进其设计。这种改进可能很小,小到只是改变一个变量名;也可能很大,大到合并两个类层次。
要保证重构的安全性,确保所做的修改不会产生任何破坏则必须手工测试或者运行自动测试。如果能够快速地运行自动测试,确保(修改后)代码仍能工作,你就能更加大胆地进行重构,更加乐于尝试试验性的设计。
循序渐进地进行重构有助于防止增加缺陷。大多数重构过程都需花费一些时间。有些大型重构可能需要持续数天、数周甚至数月,才能完成转换。但是即便这样的大型重构也是循序渐进地实现的。
重构最好持续而不是分阶段地进行。只要看到代码需要改善,就改善它。但是,如果你的经理要求你完成某项功能,以备明天进行演示之用,那么当然应该先完成这项功能,以后再进行重构。持续重构能够很好地满足业务需求,但是重构实践必须和谐地适应业务上的轻重缓急。
                                                                                               ----------------《重构与模式
原创粉丝点击