简介
"重命名变量"(Rename Variable)重构手法用于提升代码可读性和维护性。通过更清晰的命名准确反映变量的用途和上下文语义。
典型代码坏味道
- 变量名使用通用术语(如data/temp)
- 命名存在误导性技术含义
- 名称无法体现数据生命周期
- 与关联变量命名风格不一致
重构步骤
-
分析变量用途
- 理解变量在上下文中的角色
- 确定新的语义化名称
- 检查作用域内的命名冲突
-
安全重命名
- 使用IDE重构工具批量修改
- 分步骤替换(先局部后全局)
- 处理闭包和lambda表达式
-
验证与测试
- 检查所有引用点更新
- 验证类型推导正确性
- 确保调试信息准确性
示例
重构前:
public void processOrder(Order o) {
// o被多次修改和使用
}
重构后:
public void processOrder(Order pendingOrder) {
// 变量名明确表示订单状态
}
专项练习
基础练习
- 重构循环计数器
for(int i=0; i<users.size(); i++) { // i改为userIndex }
进阶练习
- 处理lambda参数
users.stream().map(u -> u.getName()).collect(...) // u改为user
代码审查清单
优势验证
- 代码可读性提升60%以上
- 变量作用域清晰度达100%
- 减少调试时间
风险提示
- 可能影响闭包引用
- 需要同步更新文档
- 影响日志中的变量名