一 使用场景
临时变量被赋值超过一个,它既不循环变量也不是被用于收集计算结果,赋值超过一次,意味着它们在函数中承担了一个以上的责任。如果临时变量承担了多个责任,它就应该被替换成多个临时变量,每个临时变量程度一个责任,同一个临时变量程度两件不同的责任,会令代码阅读者糊涂。
二 做法
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);
}