还是回头拿起书架里的重构教科书来看看吧,就是那本由两位大师Martin Fowler, Kent Beck和其他三人合写的《Refactoring: Improving the Design of Existing Code》,想要在其中找找看怎样来重构比较妥当。这本重构经典书告诉你,要重构就不能把原有功能给破坏了,所以在开始重构之前,首先应建立起「自动化测试」。好的,那我们就去打开测试程式吧!什么,遗留系统没有测试程式,那该怎么办呢?遗留系统不是用TDD开发的,那…那,我们要怎样重构才能保证原有功能不会出错呢?惨了,在第一关就卡住了。硬着头皮干吧,反正就是另外再写新功能,不要去动到旧有的程式码就对了。是的,这就是现实中大多数台湾工程师的作法。可是这样做,程式码的品质就越来越差了,不论是自己后面要再加新功能或者是丢给别人来接手,无疑都是场灾难。