1. 重复代码的特征
重复代码是代码坏味道的典型代表。
重复代码是指相同或相似的代码在一个以上的地方出现
。通常有以下几种情形:
- 同一个类,多个方法间重复
- 子类之间代码重复
- 不相干类间代码重复
2. 重复代码的影响
重复代码会影响代码的可读性和可维护性,如果有问题,需要修改多处重复代码,容易修改遗漏。
3. 重复代码的重构技巧
我们的目标是消除重复,简化代码,针对重复代码的情形,可以采用如下手法重构:
情况 | 重构方式 | 快捷键操作 |
---|---|---|
同一个类,多个方法间重复 | 抽提方法 | Ctrl + Alt + M |
子类之间代码重复 | 方法上移到父类 | Ctrl + Alt + Shift + T -> Pull Members Up 或 鼠标右键 -> refactor -> Pull Members Up |
不相干类间代码重复 | 搬移函数,提取为独立类供调用 | F6 或 Ctrl + Alt + Shift + T -> Move Instance Method 或 鼠标右键 -> refactor -> Move Instance Method |
综上,重复代码在绝大部分情况下都是代码坏味道,但是有时重复代码可以达到解耦的目的,如果消除了重复就会导致耦合,这种情况,重复是合理的
。