2012-11-28 12 views
2

我有一些寫得不好的代碼明顯違反了Effective Java 31修復代碼:查找枚舉序數方法的所有調用

我試圖通過添加一個實例字段與getter來解決它,但我很難找到枚舉上的.ordinal()方法的所有引用。在.ordinal()上執行Eclipse調用層次結構,可以讓我在任何枚舉上引用該方法。在這個代碼庫中有數百個這種不好的做法的例子,我無法修復所有這些問題;我只是想解決這個枚舉。

在Eclipse或其他工具中找到所有對MyEnum.ordinal()的引用嗎?

回答

2

我首先找到MyEnum所有引用使用按Ctrl ++,並從這些文獻,手動看看哪些調用MyEnum#ordinal()

+0

這和OP已經做的一樣。 –

+2

@MarkoTopolnik,No,「*在.ordinal()上做一個eclipse調用層次結構,讓我可以在任何枚舉上引用該方法*」我建議找到對MyEnum的所有引用,然後檢查每個引用以進行調用'序數'。 – user1329572

+0

仍然讓我參考這個枚舉。太大,實際上都經歷過他們。我基本上想要這兩件事的交集。 –

2

刪除Enum並記下所有在IDE錯誤視圖中引用ordinal()的錯誤。

+2

這就像我的建議的一個非常醜陋的版本... – user1329572

+0

我不會說它醜陋...你的解決方案提供了一個樹,我的列表提供了一個清單...非正統的,當然,但每一點都優雅和簡單。 – LJ2