[英]Eclipse support for refactoring train wrecks
eclipse可以做这个重构吗?
假设我有一个有List的类:
class DomainObject {
private List list;
public List getList() { return list; }
}
然后一些使用该类的代码需要这样做:
domainObject.getList().get(23);
我想重构一下(并让所有其他引用做同样的事情):
domainObject.get(23);
我尝试了一些选项,但似乎无法找到一种方法(手动除外)
试试这个:
DomainObject
正确实现List
(使用list
作为委托) getList()
返回this
getList()
"implements List"
,保留get()
方法 另一个(更简单)选项:
getList()
重命名为getMyListWithAUniqueNameAcrossTheProject()
(让Eclipse更新所有引用) "getMyListWithAUniqueNameAcrossTheProject()."
通过""
DomainObject.get(int)
我想你想要的是Refactor - >介绍间接...... 我不确定如何使用它,我认为你必须在List.get
上调用它,指定你想在DomainObject
创建方法...
我试过这里,但eclipse需要花费大量时间来计算它(我想要查找对该方法的所有引用)
编辑 :我发现了一篇关于这个主题的文章 ,这让我觉得这可能不是你想要的。 但是,如果Eclipse足够聪明,我猜不会将该方法声明为静态。 它还没有完成,但我发现错误187227介绍间接是非常慢的 ,这是因为它适用的方法名称是非常常见的,所以我想它在List.get
的情况下是不可用的...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.