探索 Eclipse JDT 中的重构功能
2010-01-04 00:00:00 来源:WEB开发网Extract Method
Extract Method 重构允许您选择一块代码并将其转换为一个方法。Eclipse 会自动地推知方法参数及返回类型。
如果一个方法太大并且您想要把此方法再细分为不同的方法,这个重构将很有用。如果有一段代码在很多方法中反复使用,这个重构也能派上用场。当选择这些代码块中的某一个代码块进行重构时,Eclipse 将找到出现这个代码块的其他地方,并用一个对这个新方法的调用替代它。
要使用这个重构,请选择编辑器中的一个代码块,然后按下 Alt+Shift+M。这时会出现一个对话框,要求输入这个新方法的名称及可见性(公开的、私有的、保护的或是默认的)。甚至可以更改参数和返回类型。当重构了新方法内的所选代码块以便恰当使用新方法的参数和返回类型后,新方法就创建完成了。首先完成重构的那个方法现在包括了一个对新方法的调用。
例如,假设我想要在调用了清单 3 中的 map.get() 后,将代码块移到另外一个方法。
清单 3. Extract Method 重构前
@Override
public Object get(Object key)
{
TimedKey timedKey = new TimedKey(System.currentTimeMillis(), key);
Object object = map.get(timedKey);
if (object != null)
{
/**
* if this was removed after the 'get' call by the worker thread
* put it back in
*/
map.put(timedKey, object);
return object;
}
return null;
}
要做到这一点,请选择编辑器中的这个代码块并按下 Alt+Shift+M。将这个新方法的名称设置为 putIfNotNull(),Eclipse 会生成清单 4 中的代码,并会自动地计算出正确的参数和返回值。
更多精彩
赞助商链接