为什么要重构?
重构是软件开发过程中一个重要的事情之一,重构与重写的区别:
- 重构:不是对已有代码的全盘否定,而是对不合理的结构进行调整,合理的模块进行改动;利用更好的方式,写出更好,更有维护性代码。
- 重写:已有的代码非常复杂混乱,难以修改,重构的时间还不如重新写一个来得快;根据需求另立一个项目,完全重写。
车子脏了就得洗,坏了就得修,报废了就得换。程序也一样,不合需求就得改,难于跟上业务的变更就得重构,实在没法改了就得重写。
重构时机
添加功能时
修补错误时
复审代码时
怎样重构
重命名
提炼函数
去除不必要的参数
用对象取代参数
隐藏函数
用常量名替换常量值
用对象取代数组
判断放入循环内,减少循环代码
相同(或及相似)的代码重复出现,提炼出一个通用的方法
枚举类型的判断用 switch...case...
减少嵌套的层次,如果有 If 判断,对否定条件提前退出
用设计模式改善代码设计
需求增加,业务变更,需要我们持续重构,持续优化,此恨绵绵无绝期。