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编辑  收藏  举报

导航