标签:
代码重构是一个在当今软件领域非常流行的概念,他的作用是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。而重构之后的软件只是改变了实现方式,并没有针对用户需求做任何调整,这就引起了一小部分人的怀疑——代码重构是必要的吗?
Martin Flower在《重构》中有一句经典的话:"任何一个傻瓜都能写出计算机可以理解的程序,只有写出人类容易理解的程序才是优秀的程序员。"我非常认同这样的观点,有的时候看别人写的代码总是云里雾里,虽然大体能明白他要做什么,但是深究细节的话,恐怕很难有进展,只好推翻重来,用我自己能懂得思维和语言来实现这一功能,不过这样做的代价太大,因为这个程序整体是由别人设计的,而我只是一个读者,为什么要读者揣摩作者的意图然后用自己的语言表达出来呢?我想,这大概是由于作者的语言太独特、不正常了,如果能用所有人都理解的语言来表达这样一件事情,读者会变得非常乐意,日后的改编也会非常顺畅,这件事情放在软件领域,就是开发者用代码重构的方式增加了代码的可读性,让维护人员更容易维护这个软件。
日前在CSDN看到一篇文章,大体是说重构并不能改善代码质量,对于可维护性的提升有限。文中引用了国外做的一次关于代码重构的调查,调查的结论如下:
该文中只是粗略的描述了这一结论,并且引用的实验结果只是测试了一个4500行的小规模程序 ,所以对这样所谓关于代码重构的结论我不敢苟同。诚然,对于该测试程序而言,代码重构很可能完全符合上述四个结论,但这毕竟是片面的一个程序,我们不能以偏概全,一个程序的结论并不能作为我们不做代码重构的理由。与此同时,我们也要认识到,代码重构的效果也要看重构之前的代码质量如何,如果质量很好,那么重构的必要就没那么大了,如果质量很差,那么重构一定是对可读性及可维护性的提升是有所帮助的,我们要认清形式再做抉择。
这就是目前我在学习阶段对于代码重构的一些理解,如果有说的不对的地方,欢迎指正。
标签:
原文地址:http://www.cnblogs.com/myit8858/p/5377877.html