欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Inline Temp(内敛临时变量)

程序员文章站 2024-03-21 20:21:28
...

动机

该方法多半是作为Replace Temp with Query的一部分使用的,所以真正的动机出现在后者那儿。唯一单独使用该方法的情况是:你发现某个变量被赋予某个函数调用的返回值。一般来说,这样的临时变量不会有任何危害,可以放心地把它留在那儿。但如果这个临时变量妨碍了其他的重构手法,例如Extract Method,你就应该把它内敛化。

做法

  1. 检查给临时变量赋值的语句,确保等号右边的表达式没有副作用。
  2. 如果这个临时变量并未声明为final,那就将它声明为final,然后编译(这可以检查该临时变量是否真的只被赋值一次)。
  3. 找到该临时变量的所有引用点,将它们替换为“为临时变量赋值”的表达式。
  4. 每次修改后,编译并测试。
  5. 修改完所有引用点之后,删除该临时变量的声明和赋值语句。
  6. 编译,测试。

范例

double basePrice = anOrder.basePrice();
return (basePrice > 1000);

重构后

return (anOrder.basePrice() > 1000);
相关标签: 重构 java