重构的价值

当你修改别人代码觉得很痛苦时,觉得晦涩难懂是,觉得设计混乱时,当你发现自己写的代码自己都理不清思路时,这个时候你就应该毫不犹豫地对待吗进行重构了!

不过很多项目经理,都是进度驱动,还没有达到质量驱动的高度。所以,当我们面对进度的催促时,我们还有时间重构吗?肯定会有一些程序员认为重构这个时候是栏肺时间,其实不然,重构是保证进度的最快的方式,所以你就大胆地去做吧!

首先我们先弄清楚复用和重复的区别。刚工作的时候,如果遇到一个和自己以前做过的项目很相似的任务时,就会把这个工程copy了一份,在此基础上修改。这个就叫做重复。再举个例子,若两个函数(方法)用到同一段代码,如果你将一段代码拷贝到另一个函数(方法)中,这也叫重复。后果:若需要修改,则两个函数(方法)都要修改,以后你可能记不清多少地方需要修改,植入潜在的bug。不过,如果你将这段代码重新生成一个方法,这个就叫复用,我们提倡复用。

其次大胆去掉临时变量。由于临时变量可能形成问题,因为他们只在自己所属的函数(方法)中有效,这样会使函数变得冗长,会影响理解,也会影响性能。我们提倡短函数(方法),争取一个函数(方法)表达一种意思。

关于变量的名称。重构中也包括该步骤,不要认为更改变了名称不值得。一段可读的代码应该表达清楚自己的功能,变量就是其中的关键。

最后引用Martin Fowler的几句建议。1、重构之前,首先检查自己是否已一套可靠的测试机制;2、惟有写出人类容易理解的代码,才是优秀的程序员;3、重构技术是以微小的步伐修改程序。(连载待续)

猜你喜欢

转载自ldjsyl.iteye.com/blog/211224