该在什么时候做选什么重构手法对什么范围内的代码进行重构?
- 没有明确的准则
- 没有任何量度规矩可以比得上经验丰富的高级软件工程师的直觉
因此程序员必须培养自己的判断力,
学会根据一些迹象来判断当前的代码表现是否合理,发现存在的坏味道,选取最合适的重构手法开始重构工作。
代码坏味道对应的重构手法参考列表
神秘命名
- 改变函数声明、变量改名、字段改名等
重复代码
- 提炼函数、移动语句、函数上移
过长函数
- 提炼函数、查询取代临时变量、引入参数对象、保持对象完整、以命令取代函数、分解条件表达式、以多态取代条件表达式、拆分循环
过长参数列表
- 以查询取代参数、保持对象完整、引入参数对象、移除标记参数、函数组合成类
全局数据
- 封装变量
可变数据
- 封装变量、拆分变量、移动语句、提炼函数、将查询函数和修改函数分离、移除设值函数、以查询取代派生变量、函数组合成类、函数组合成变换、将引用对象改为值对象
发散式变化
- 拆分阶段、搬移函数、提炼函数、提炼类