[英]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.