首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

复建学习-Inline Temp

2013-08-10 
重构学习-----Inline Temp? ? ?1、概述? ? ? 你有一个临时变量,它只被一个简单表达式赋值一次,而它的存在妨

重构学习-----Inline Temp

? ? ?1、概述

? ? ? 你有一个临时变量,它只被一个简单表达式赋值一次,而它的存在妨碍了其他重构方法。

? ? ? 2、动机

? ? ??Inline Temp多半是作为Replace Temp with Query的一部分来使用。唯一单独使用Inline Temp的情况是:你发现某个临时变量被赋值某个函数调用的返回值。一般来说,这样的临时变量不会有任何伤害,你可以放心地把它留在那儿。但如果这个临时变量妨碍了其他的重构方法,比如:前面的Extract Method,就应该将将它Inline化。

? ? ?3、做法

? ? ?(1)如果这个临时变量并未被声明为final,那就将它什么味final,然后编译。

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

? ? ? (2)找到该临时变量的所有引用点,将它们替换为临时变量赋值的语句中的等号右侧表达式。

? ? ? (3)每次修改后,编译并测试。

? ? ? (4)修改完成所有的引用点,删除该临时变量的声明式和赋值语句。

? ? 例子:

? ? double getUserSalary(String name){

? ? ? ?double salary=userSalary(name);

? ? ? ?return salary*5;

? ?}

? ? ? 改为:

? ? ?double getUserSalary(String name){

? ? ?return userSalary(name)*5;

? ? }

热点排行