Inline Temp(内联临时变量)

  1. boolean getPrice(){
  2. double basePrice = anOrder.basePrice();
  3. return (basePrice > 1000);
  4. }

修改后:

  1. boolean getPrice(){
  2. return (anOrder.basePrice() > 1000);
  3. }

做法

  • 检查给临时变量赋值的语句,确保等号右边的表达式没有副作用

  • 如果这个临时变量并未被声明为final,那就将它声明为final,然后编译

    这可以检查该临时变量是否真的只被赋值一次

  • 找到该临时变量的所有引用点,将它们替换为”为临时变量赋值”的表达式

  • 每次修改后,编译并测试

  • 修改完所有引用点之后,删除该临时变量的声明和赋值语句

  • 编译测试