本文将主要介绍【内联临时变量】重构(Inline Temp)。这个重构的主要目的是为了辅助其他重构,用于删除程序中那些仅被赋值一次的临时变量。
- 适用场合:临时变量仅被简单的表达式赋值一次,通常用于辅助其他重构
- 解决方法:用表达式替换所有临时变量的引用
- 动机 :通常情况下,本重构是作为【用查询方法替换临时变量】重构的一个组成部分,这是它的主要动机。如果一个变量由一个方法调用来赋值,这通常也是非常安全的。但是如果需要使用如【提取方法】重构时,最好先使用本重构来减少临时变量的数量以辅助【提取方法】。因为在【提取方法】时,处理临时变量总是一件很麻烦的事情。
【内联临时变量】处理过程:
- 确保赋值表达式右侧没有副作用
- 如果临时变量不是final,那么就将其设置为final。编译。(这样做是确保临时变量只被赋值一次)
- 用赋值表达式的右侧来替换所有指向临时变量的引用
- 在每次替换后,都进行编译和测试
- 移除临时变量的声明和赋值
- 编译并测试
这是一个简单的重构,本身没有什么太多的意义,主要是用来辅助其他的重构。