无情重构

在软件设计腐化之后,程序员还会坚守它们很长时间:我们继续使用和重用不可维护的代码,因为这些代码仍然在工作,而我们害怕修改它。但这样做真的划算吗?

极限编程的立场不一样。我们频繁且持续地重构代码,消除代码中的冗余、删除未被使用的功能、修缮过时的设计。我们在整个项目生命周期中随时进行重构,这可以提高代码质量、提高开发效率、节省浪费在理解和维护糟糕代码上的时间。

应该无情地重构,保持设计简单,避免不必要的混乱和复杂性。保持代码清晰简洁,以便更容易理解、修改及扩展。确保所有信息都只被表达一次。通过重构,最终获得一个结构良好的系统。

重构颇有些禅宗意味:一开始会很难,因为你必须放弃想象中的完美设计,并接受通过重构偶然发现的设计。你必须意识到:预先设想的设计是很好的指导,但现在已经过时了。

一只毛毛虫的设计非常适合吃掉大量的树叶,但是它无法找到伴侣。它必须将自己重塑成蝴蝶,才能在天空中寻找同类。放开“系统应该长什么样”的执念,并试着看见自发涌现出来的全新设计。