在整個練習中,我始終堅持從系統的整體方向進行思考的原則,我從這個方向開始了重構之路,并始終保持正確的方向。那些相對于手頭上的任務來說不太重要的問題就用臨時方案繞過它。此外,我建立了一個具有最小可行性的測試架構,讓我的團隊也可以使用它繼續重構其它一些領域。在測試構架中依然保留了一些 hack的部分,因為從業務的角度來說沒有太大的必要去清理它們。我所獲的不僅是重構了一塊非常復雜的功能區域,并且加深了對遺留系統的理解。將遺留系統當作一件易碎的瓷器并不會使你感覺更安全,只有大膽地深入它的內在并進行重構,才能使你的遺留系統在未來也能夠繼續它的使命。
原文轉自:http://www.infoq.com/cn/articles/refactoring-legacy-applications