重构(名词)
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。
重构(动词)
使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。
为什么需要重构?
项目经过不断的迭代、修改、升级...基于原先的设计所得到的系统,整体结构逐渐衰弱,代码质量不断降低,代码的可读性、弹性越来越差,冗余代码越来越多,导致新的需求只能胡乱拼凑上去...再加上公司内部的人员调整,陈年代码无人能懂更不敢随意优化(稍不注意就会导致意想不到的灾难发生)。
这样导致的结果就是代码质量、项目性能慢慢下降,程序的设计逐渐腐败变质,本来严谨的编码工作逐渐变成胡乱拼凑的随性行为(只要完成了现有功能,不影响老的功能就万事大吉了!——这应该是大部分在陈年代码的基础上编程的工程师的真是想法)。
通过重构我们能得到什么?
1.重构能够改进软件设计
代码结构的流失是累积性的。越难看出代码的设计意图,就越难保护其中的设计,于是该设计就腐败的越快。而经常性的重构可以帮助代码维持自己的形态和结构。
完成同样一件事,设计不良的程序往往需要更改代码,这通常是因为相同的代码在不同的地方做着同样的事。如果消除重复代码,你就可以确定所有的事物、行为在代码中只表述一次,这正是优秀设计的根本。
2.重构使软件更容易理解
重构会使代码渐趋简洁,越简洁就越容易理解,越容易理解就越容易修改...
3.重构能够找到代码中隐藏的bug
对代码进行重构,可以更深入的理解代码,搞清楚程序的结构,于是bug就被揪出来了。
重构能够帮助程序员更有效的写出更强健的代码。
4.重构提高编程速度
良好的设计是开发的根本,拥有良好的设计才可能做到快速开发。如果没有良好的设计,或许短时间内进展迅速,但是恶劣的设计很快就让你的速度慢下来。你会花费大量的时间进行调试,添加新功能难度越来越高,修改时间越来越长,bug越藏越深,为了解决问题于是一个又一个补丁出现...哦~真是一个恶性循环。
重构可以帮助你更快的开发软件,因为它阻止系统腐败变质,它甚至还可以提高设计质量。
何时重构:见何时重构?
除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接
文章评论