正确的重构方式:不会引入错误并有条不紊地改进程序结构
熟练掌握众多重构手法,将思辨与实践结合,迭代持续开展重构工作。
运用大量微小且保持软件行为的重构步骤,一步步达成大规模的修改。
在开始重构前,我们需要先通读代码,并尝试理解代码如何工作,然后通过重构将这些理解从脑海里搬回到代码中。基于已经更为清晰的代码,我们更容易理解和发现更深层次的设计问题,从而形成积极正向的反馈环。
通过小且简单的重构步伐,并且每一步都保证代码处于编译通过和测试通过的可工作状态,有条不稳地以可控、高效、有序的方式进行重构,并保持代码永远处于可工作状态。
区别于“结构调整”
如果有人说他们的代码在重构过程中有一两天时间不可用,基本上可以确定,他们在做的不是重构,而是“结构调整”。结构调整:泛指对代码库进行的各种形式的重新组织或清理。
重构也属于结构调整,但是特定的一类结构调整。
常用重构手法列表,按频率高到低排列
- 提炼函数
- 提炼变量
- 内联函数
- 内联变量
- 改变函数声明
- 变量改名
- 封装变量
- 引入参数对象
- 函数组合成类
- 函数组合成变换
- 拆分阶段
- 封装记录
- 封装集合
- 以对象取代基本类型
- 以查询取代临时变量
- 提炼类
- 内联类
- 隐藏委托关系
- 移除中间人
- 替换算法
- 搬移函数
- 搬移字段
- 搬移语句到函数
- 搬移语句到调用者
- 以函数调用