是怎样?
重构前:
public void printPerimeterAndArea() {
double temp = 2 * (mHeight + mWidth);
System.out.println(temp);
temp = mHeight * mWidth;
System.out.println(temp);
}
重构后:
> ```Java
public void printPerimeterAndArea() {
final double perimeter = 2 * (mHeight + mWidth);
System.out.println(perimeter);
final double area = mHeight * mWidth;
System.out.println(area);
}
如何做?
- 在 temp 变量之前添加final, 修改 temp 为 perimeter, 在第二次对temp赋值语句之前用 perimeter 手动替换 temp。如:
final double perimeter = 2 * (mHeight + mWidth);
System.out.println(perimeter);
temp = mHeight * mWidth;
System.out.println(temp);
- 接着,在下一个赋值语句的地方添加 final double。修改 temp 为 area,在下一次对temp赋值语句之前,用 area 替换所有的 temp 。(如果这是最后一个赋值语句, 比如此处的 final double temp = mHeight * mWidth, 可以同时使用 shift + F6 rename 所有 temp变量名。)
final double perimeter = 2 * (mHeight + mWidth);
System.out.println(perimeter);
final double area = mHeight * mWidth;
System.out.println(area);
- 运行测试。