探索 Eclipse JDT 中的重构功能
2010-01-04 00:00:00 来源:WEB开发网
清单 4. Extract Method 重构后
@Override
public Object get(Object key)
{
TimedKey timedKey = new TimedKey(System.currentTimeMillis(), key);
Object object = map.get(timedKey);
return putIfNotNull(timedKey, object);
}
private Object putIfNotNull(TimedKey timedKey, Object object)
{
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;
}
Inline
Inline 重构可以内联 对变量或方法的引用。当使用这个重构后,它会用分配给此变量的值或此方法的实现来分别替代对这个变量或方法的引用。这个重构在下列情形中将对于清理代码十分有用:
当一个方法只被另一个方法调用一次,并且作为一个代码块更有意义时。
与把值分配给不同变量而将表达式分成多行相比较,将一个表达式放在一行上看着更整齐时。
要使用这个重构,请将光标放在一个变量或方法上,并按下 Alt+Shift+I。这时会出现一个对话框,要求确认这个重构。如果重构的是一个方法,那么对话框还会给出一个选项,即在执行完这个重构后一并删除此方法。
例如,清单 5 中的第二行只是将一个表达式的值分配给了 timedKey 变量。
清单 5. Inline 重构前
public Object put(Object key, Object value)
{
TimedKey timedKey = new TimedKey(System.currentTimeMillis(), key);
return map.put(timedKey, value);
}
更多精彩
赞助商链接