Refactoring 重构
Refactoring 重构
1. 重构是一门实用技术
程序员工作的目的不仅仅是将需求功能实现,更高的目标在于写出清晰、简洁、高效的代码。代码质量是一个程序员“安身立命”之根本。
然而,精品都是需要反复打磨、润色的。重构就是打磨之刀,润色之笔。
说的有点玄乎了。
举个小例子:
重构之前
class User { getUserInfo($id) { ....... } }重构之后
class User { retrieveUserById($id) { ...... } }
这就是最简单的重构——只是修改了函数名。可经过这简单的修改,程序的可读性大大提升:从函数名就可知函数功能、形参甚至返回值。这简直可以代替注释了! 这引出了另一个话题,在代码原教旨主义者看来:注释是极其丑陋和无用的东西。想知道某个函数的功能和用法吗?那就去读我的代码吧!这就是那些程序大牛的自信。我们在平时工作中没必要这么极端,但“代码即注释”的思想和效果,是我们要努力去追求的。
2. 重构帮助你走上极限编程&敏捷开发的康庄大道
重构跟极限编程(XP)是相辅相衬的。极限编程讲求测试先行的测试驱动开发模式。测试用例是成功重构的重要保障(没有测试用例是照样可以进行重构滴~),在重构完成后的第一时间,我们就可以用测试用例来检验重构后的代码功能是否完整、可用。
我们亦可以开展结对编程。两个人坐在一起完成对以前代码的重构,这将有利于知识在团队内部的传播。
3. 书
重构并不是无章可循的。推荐给大家一本书Refactoring:Improving the Design of Existing Code,中文译作《重构——改善既有代码的设计》。
这是一本非常非常好的书,简直可称为重构圣经。同时,作为译作,这本书翻译的也是相当到位。非常值得一读。
这本书在市面上有两个版本,一个是中国电力出版社出版的蓝色封皮版(www.china-pub.com/12901),还有一个是最近由人民邮电出版社出版的新版(www.china-pub.com/196374)。
这两个版本内容上没有差别,同一作者,同一译者。只是电力版市面上已不多见,人邮版是今年4月发布的版本。
后记:
文章写的一般,基本是吹嘘了一遍重构技术,缺乏实质性的内容。本人实感重构技术之精深非吾三言两语可蔽之也已,想学到更多东西就去读书吧。
posted on 2010-06-06 23:49 followflows 阅读(333) 评论(2) 编辑 收藏 举报