1
面向对象软件工程实践指南
1.2.8.4 8.4 软 件 重 构
8.4 软 件 重 构

一个项目的代码质量往往有可能会随着时间的推移变得越来越糟糕,代码越来越臃肿,越来越难以理解它的本意,添加新功能越来越难。

重构通常指在不改变代码的外部行为情况下而修改源代码。重构是代码维护中的一部分,既不修正错误,又不增加新的功能性。而是用于提高代码的可读性或者改变代码的结构和设计,使其在将来更容易被维护。特别是,在现有程序的结构下,给一个程序增加一个新的行为会非常困难,因此开发人员可能先重构这部分代码,使加入新的功能变得容易。

Martin Fowler等人总结出了一些常用的重构技术,将其写成了一本面向对象领域的经典著作《重构:改善既有代码的设计》。

重构有以下好处:

(1)重构能够改进软件设计,可以减少代码量,使以后的维护、开发更方便。

(2)重构使软件更容易理解。

(3)重构的时候,由于必须去阅读代码、分析和理解逻辑,这样就很可能发现一些逻辑或是简单的错误。

重构可以在添加新功能时、修改错误时和复审代码时进行。

当开发进入尾声的时候,这时候不应该重构,因为这时候重构往往得不偿失,可能会引入错误,还会拖累项目交付时间。