核心思想:
小步改进:通过一系列小而安全的改动逐步改善代码。
保持功能:重构过程中不改变代码的外部行为。
关键技术: a) 提炼函数(Extract Method)
目的:提高代码可读性和复用性
时机:当函数过长或一段代码可以独立成组
注意:提取后的函数应该有明确的单一职责
b) 内联函数(Inline Method)
目的:消除不必要的间接层,简化代码
时机:函数本体与名称同样清晰时
权衡:可读性 vs. 代码量
c) 变量操作(提炼、内联、改名)
目的:提高代码清晰度
原则:使变量名能清楚表达其用途
d) 函数声明改进
包括:改名、增减参数、重排参数
目的:使函数接口更清晰、更易用
e) 数据组织优化
方法:引入参数对象,封装变量
好处:简化函数调用,增强数据保护
f) 函数组合(成类或变换)
目的:提高相关函数的内聚性
适用:频繁一起使用的函数集
实施策略:
- 先测试,后重构
- 频繁提交变更
- 每次重构后运行测试
小步改进:通过一系列小而安全的改动逐步改善代码。
保持功能:重构过程中不改变代码的外部行为。
关键技术: a) 提炼函数(Extract Method)
目的:提高代码可读性和复用性
时机:当函数过长或一段代码可以独立成组
注意:提取后的函数应该有明确的单一职责
b) 内联函数(Inline Method)
目的:消除不必要的间接层,简化代码
时机:函数本体与名称同样清晰时
权衡:可读性 vs. 代码量
c) 变量操作(提炼、内联、改名)
目的:提高代码清晰度
原则:使变量名能清楚表达其用途
d) 函数声明改进
包括:改名、增减参数、重排参数
目的:使函数接口更清晰、更易用
e) 数据组织优化
方法:引入参数对象,封装变量
好处:简化函数调用,增强数据保护
f) 函数组合(成类或变换)
目的:提高相关函数的内聚性
适用:频繁一起使用的函数集
实施策略:
- 先测试,后重构
- 频繁提交变更
- 每次重构后运行测试