首页/开发/代码质量与评审速查/手法:Split Variable(拆分变量)
重构手法62 条

手法:Split Variable(拆分变量)

同一变量被赋予不同含义的值时,拆成多个各自命名的变量:变量名准确、范围缩小,副作用减少;循环变量与收集变量常是重灾区。

信号变量被重新赋值且含义改变、需要注释说明
做法每个含义一个变量、能 const 则 const
配套循环中的累计变量可拆或提炼

示例

示例
// 之前
double temp = 2 * (height + width);
System.out.println(temp);
temp = height * width;

// 之后
double perimeter = 2 * (height + width);
System.out.println(perimeter);
double area = height * width;

易错点

  • 拆分后仍频繁重赋值:可变性并未真正收敛
  • 循环收集变量拆错:重置时机不同导致结果变化

数据来源与参考

  • 《重构》第 2 版 · 第 9 章(Split Variable)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌