重复代码
概述
重复代码是可舍弃类代码异味的一种,指相同或非常相似的代码块在程序中多次出现,违反了DRY(Don't Repeat Yourself)原则。
关键内容
- 特征识别:
- 多处出现完全相同的代码
- 只有少量差异的相似代码块
- 复制粘贴的编程模式
-
相同算法在不同地方重复实现
-
负面影响:
- 修复bug需要在多处修改
- 容易导致代码不一致
- 增加代码库大小
- 提高维护成本
-
降低整体代码质量
-
检测规则:
- 任何重复3次以上的代码都应该考虑提取
-
使用代码分析工具检测相似代码块
-
重构策略:
- Extract Method:将重复代码提取为方法
- Extract Class:将重复代码提取为类
- Pull Up Method:在继承层次中向上抽取方法
-
Form Template Method:使用模板方法模式
-
预防措施:
- 遵循DRY原则
- 定期进行代码审查
- 使用自动化工具检测重复代码
来源
- Martin Fowler — 《重构:改善既有代码的设计》
- 代码异味 — 重构指导书
相关
- 代码异味 — 重复代码所属的异味类别
- 重构 — 解决方法
- DRY原则 — 设计原则
- Extract Method — 重构技巧
- 代码质量 — 相关概念