重构
概述
重构是在不改变软件外部行为的前提下,改善其内部结构的过程。通过一系列小的步骤改进代码设计,使代码更易于理解和维护,从而提高开发效率。
关键内容
- 重构的目的:
- 改善代码设计
- 使代码更容易理解
- 提高软件的可维护性
-
在重构过程中发现设计问题
-
重构的主要类别:
- 重新组织函数:Extract Method, Inline Method, Replace Temp with Query等
- 搬移特性:Move Method, Move Field, Extract Class, Inline Class等
- 重新组织数据:Replace Data Value with Object, Change Value to Reference等
- 简化条件表达式:Decompose Conditional, Consolidate Conditional Expression等
- 简化函数调用:Rename Method, Add Parameter, Remove Parameter等
-
处理继承关系:Pull Up Method, Push Down Method, Replace Inheritance with Delegation等
-
重构的时机:
- 添加功能时
- 修复错误时
- 代码审查时
-
发现代码异味时
-
重构的安全性:
- 拥有良好的测试套件
- 小步前进
- 频繁测试
- 版本控制支持
来源
- Martin Fowler — 《重构:改善既有代码的设计》
- [[]] —