关于代码的重构,已经是老调常弹。自Martin Fowler《重构》一书横空出世,到如今已有十年光景,对于重构,许多程序员已经耳熟能详。然而,每当我们面对项目压力时,常常会将重构置之脑后,抛到九霄云外。理由足够充分,言之凿凿:功能还未完成,何谈重构?究其原因,是因为我们还未将重构当做习惯。即便现在的许多IDE已经支持自动完成常见的重构手法,我们仍然会忘记,仍然会忽略。只因重构不能直接产生价值,只因我们还没有看清重构之美。
本专栏试图重新擎起重构的大旗,为改善既有代码的设计,使重构深入人心,来一次“歇斯底里”的鼓吹与呐喊。重构并非微不足道的小事,若人人皆能学会运用重构之利器,或许,开发人员的生存环境就会变得美好。美的代码,美的结构,美的设计,总是那样的赏心悦目。我们向往美好的环境,这是天性使然;那么,为何我们不能营造美好的代码环境?
如何呈现重构之美?关键在于发现丑陋而不堪忍受。对丑的憎恶实则是一种强悍的驱动力,它会驱使你运用重构,直到重构变成如呼吸一般自然而不可缺失。重构无需专门的阶段,随时随地皆可进行。经常的重构可以保证代码常拭常新,如利刃一般锋利。Andy Hunt与David Thomas的名著《程序员修炼之道》提到了著名的“破窗户理论”。 破窗户代表低劣的设计、错误的决策或是糟糕的代码。他们认为“不要容忍破窗户(Don’t live with Broken Windows)”,需要及时修理。同样是Andy Hunt的著作Practices of an Agile Developer,在讲到高效编程的好习惯时,认为“要投入时间和精力保持代码的整洁、敞亮。”Hunt的切身感受是“在项目中,代码应该是亮堂的,不应该有黑暗死角。”
诚哉斯言!
本文转自wayfarer51CTO博客,原文链接:http://blog.51cto.com/wayfarer/440202,如需转载请自行联系原作者