重构

实际上,我们上面的这个过程也演示了什么叫做“重构(reconstruction)”。很多人会对老板说“我之前写的代码已经太乱了,很难维护,我想我需要大约两个星期的时间进行重构,在这段时间里,代码是无法运行的”。事实上,这不叫做“重构”,而叫做“重写”。“重构”是一步一步将混乱的代码变得清晰可维护的过程,这是一个小步渐进式的过程,在这个过程中的任何一步,代码都是可以运行的。

这种小步渐进式的重构有很大的好处。每一步完成后,你都可以运行程序,看看程序是否按照期望运行,或者更规范一点——运行一遍测试,看看有没有引入新的 BUG。这样就可以尽可能小地降低修改代码引入新 BUG 地可能性,并且即使出现了新 BUG,你也可以知道是在哪一个小步引入的 BUG,这样就很容易排查 BUG 的位置。而重写不是这样,你无法知道新程序是否会具有比老程序更多的 BUG,并且即使出现了 BUG,也很难排查。因此,我们说重构优于重写

Last updated