重构的概念和原则
-
什么时候重构—可以动代码时重构
- 添加新功能
- 修改bug时
- 修复review意见时
-
什么时候不可以重构
- 代码混乱,重构不如重写。
- 明天就是deadline时。
- 重构显著增加了你改动代码时的工作量。
- 没有思路时,不要动代码。
-
经典重构工作流程
小步前进,随时可用,随时可停,随时回退。
出现问题,停下来!!!回退!!!
识别代码坏味道
冗余和重复
- 重复代码是万恶之源,绝大多数的坏味道,来自于重复代码。重复往往意味着坏味道。
- 注释过多,意味着很可能是代码写的糟糕。可以提炼函数,使用好的函数名自注释。
- 夸夸奇谈的未来性。过度设计、过度使用设计模式。
局部膨胀
- 过长的参数列表
耦合结构不良
- 散弹式修改
- 发散式变化
- switch语句
- 临时字段