转载请注明出处:http://my.oschina.net/u/1474965/blog/299824
重构是一件形影不离的事
一、什么叫做重构
重构即不改变现有软件行为的基础上,让代码更容易理解和让代码更容易修改。
通俗来讲重构就是整理代码但又有其好多方法论
二、为什么要重构
对于今天的工作我了解的很充分;对于明天的工作我了解的不够充分,如果我纯粹只为今天工 作,明天我将无法工作
1.改进软件设计,去除不必要的冗余,保持特有的代码结构。
2.重构让软件更容易理解,让自己更准确的理解别人的代码
3.重构能帮助我们找到bug
当我们重构时,我们会深入理解代码的行为,并加入自己的理解反馈,从而找出bug
4.提高编程速度
良好的设计是维持软件快速开发的根本
三、何时重构
重构覆盖整个程序编写的全过程,重构的直接原因往往是帮助自己更好的理解需要修改的代码
1.添加新功能时
在添加新功能时把代码结构理清,就可以从中理解更多的东西
重构是最快捷的途径,因为重构是一个快速流畅的过程,一旦完成重构新特性的添加就会更快速、流畅。
2.改bug时重构
3.复审代码时重构
四、重构的难题
1.数据库
2.修改接口
如果接口改了任何情况都可能发生,因为接口可能被那些找不到的,即便是能够找到也不能修改的代码使用。
如果重构改变了已发布的接口,你必须同时维护新旧两个接口,让旧接口调用新接口,并将旧接口标记为deprecated
五、何时不该重构
1.当软件运行很不稳定时,就要考虑重写,因为重构一个不稳定的程序,还不如重写来的简单。
未完成的重构像债务一样,随着时间的流逝会承受一定的利息的,复杂的代码造成的维护和扩展困难就是利息,你可以承受一定的利息,但利息太高就会被压垮!
我不是一个伟大的程序员,我只是有着一些优秀习惯的好程序员——Kent Beck