一部の Java コードをリファクタリングして、一部の静的メソッド呼び出しを非静的呼び出しに変更することで、より分離します。たとえば、次のようになります。
// Before:
DAO.doSomething(dataSource, arg1, ..., argN)
// After:
dao.doSomething(arg1, ..., argN)
私の問題は、大規模なプロジェクトでは、静的メソッド呼び出しが行われている場所を見つけるのが難しい場合があることです。コマンドラインまたはEclipseでこれを行う簡単な方法はありますか?
このようなツールでは、次のような「無害な」静的メソッド呼び出しを無視できるようにする必要があります (最初から見つからないか、検索結果から簡単に削除できるようにすることにより)。
String.valueOf(...)
Integer.parseInt(...)
MyClass.someBenignStaticMethod(...)
いくつかの説明:
- リフレクションを介して行われたメソッド呼び出しを見つけることに興味はありません
- このプロジェクトに現在どの静的メソッドが存在するかはわかりません。そのため、Eclipse の「Open Call Hierarchy」コマンド (Ctrl-Alt-H) を使用して呼び出し元を検索するのは簡単ではありません。静的メソッドにより、このアプローチを使用できます
- プロジェクト外にある静的メソッドの呼び出しを見つけることにも興味があります。たとえば、javax.mail.Transport#send などです。
- 無料の (ビールのような) ソリューションを探しています