一 使用场景
临时变量被赋值超过一个,它既不循环变量也不是被用于收集计算结果,赋值超过一次,意味着它们在函数中承担了一个以上的责任。如果临时变量承担了多个责任,它就应该被替换成多个临时变量,每个临时变量程度一个责任,同一个临时变量程度两件不同的责任,会令代码阅读者糊涂。
二 做法
1 将新的临时变量声明为final。
2 以临时变量的第二次赋值动作为界,修改此前对临时变量的所有引用点,让他们引用新的临时变量
3 在第二次赋值处,重新声明原先的临时变量。
三 实例
public static void main(String[] args) {
double temp = 2 * (height + width);
System.out.println(temp);
temp = heitht * width;
System.out.println(true);
}
public static void main(String[] args) {
//首次赋值
final double perimeter = 2 * (height + width);
System.out.println(perimeter);
//第二次赋值
final double area = heitht * width;
System.out.println(area);
}
本文讨论了代码重构中避免临时变量承担多重责任的重要性,提出将多用途临时变量拆分为多个单一职责变量的方法,并通过实例展示了如何通过声明final变量来实现这一目标。
387

被折叠的 条评论
为什么被折叠?



