1. 霰弹式修改
定义
:指每遇到某种变化,你都必须在许多不同的类内做出许多小修改。
影响
:需要修改的代码散落各处,难以找到他们,容易修改遗漏。
重构目标
:代码结构更加清晰,减少代码重复,提升可维护性。
重构方法
:
- 搬移函数
- 搬移字段
- 函数组合成类
- 函数组合成变换
- 拆分阶段
- 内联函数
- 内联类
常见特点
:
- 某些类似或者关联操作存在多个类或方法中
重构中可能用到的快捷键操作
:
操作 | 快捷键 |
---|---|
提炼常量 | Ctrl + Alt + C |
提炼函数 | Ctrl + Alt + M |
搬移实例方法/静态成员 | F6 |
内联 | Ctrl + Alt + N |
2. 依恋情结
定义
:一个函数跟另一个模块中的函数或数据交互格外频繁,远胜于在自己所处模块内部的交流。
影响
:可读性和可维护性。调用另一个模块功能时需要做很多操作才能完成,需要知道更多的细节。
重构目标
:类要更加内聚,将函数搬移到对应的类,解除跨模块的过多交流。
重构方法
:
- 提炼函数
- 搬移函数
常见特点
:
- 在一个函数中对另一个对象有频繁的组合调用,对自身的访问却偏少。
重构中可能用到的快捷键操作
:
操作 | 快捷键 |
---|---|
提炼常量 | Ctrl + Alt + C |
提炼函数 | Ctrl + Alt + M |
PS:仅用于学习交流。