快速业务通道

探索Eclipse JDT中的重构功能 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
的某一个代 码块进行重构时,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 中的代码,并会自动地计算出正确的参数 和返回值。

清单 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;   }

探索Eclipse JDT中的重构功能(4)

时间:2011-04-09 IBM Prashant Deva

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);   }

清单 6 显示执行了 Inline 重构的代码。请注意,以前的两行代码现在变成了整洁的一 行代码。

清单 6. Inline 重构后

@Override   public Object put(Object key, Object value)   {   return map.put(new TimedKey(System.currentTimeMillis(), key),  value);   }

Change Method Signature

利用 Change Method Signature 重构可以更改一个方法签名。同时它还将修改所有对该 方法的调用以使用这个新签名。

要使用这个重构,请选择 Refactor > Change Method Signature。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号