3

もう使用されていないクラスとメソッドがある Web アプリケーションがあります。

コードを「クリーン」にするために、使用されなくなったすべてのクラスとメソッドを教えてくれるEclipseの機能はありますか? ありがとうございました

4

4 に答える 4

3

UCDetectorを試す

UCDetector (Unnecessary Code Detector - 「You See Detector」と発音) は、不要な (デッド) パブリック Java コードを見つけるための Eclipse PlugIn ツールです。たとえば、参照を持たない public クラス、メソッド、またはフィールド。UCDetector は、Eclipse の問題ビューに表示される次の問題のマーカーを作成します。

  1. 不要な (死んだ) コード
  2. 可視性を保護、デフォルト、またはプライベートに変更できるコード
  3. 最終的なフィールドのメソッド
于 2013-10-25T07:45:34.277 に答える
1

Eclipse は、呼び出されていないコードと使用されていないインポートを自動的に黄色の波線で強調表示します。ヒットCtrl-shift-Oして未使用のインポートを削除します。不要なメソッドとフィールドを手動で削除する必要があります。

クラスまたはメソッドが使用されているかどうかを簡単に確認するには、それを左クリックして選択し (灰色の背景)、右クリックして、References -> Workspaceワークスペース内の何かがそれを使用しているかどうかを確認します。これは、Spring XML 構成など、構成で Java メソッドまたはクラスを指定するものでは機能しない可能性があるため、以下の警告をお読みください :)

勇気があれば、Eclipse にクラスを分析させ、不要と見なされるプライベートなものを自動削除させることができます (以下の警告を参照)。方法は次のとおりです。


コード内を右クリックして、 に移動しSource -> Clean Up...ます。Customプロフィールをご覧ください。ヒットConfigure。ここで、Unnecessary Codeタブに移動すると、 とRemove unused private members、削除したいものを確認できます (たとえば、メソッドは、呼び出されていないすべてのプライベート メソッドを削除します)。最初に素敵なリポジトリにコードをバックアップすることを忘れないでください:)ヒットNextすると、変更の結果が表示されます。よろしければ、[完了] をクリックしてください。

永続的なクリーンアップ プロファイルを作成して、毎回 [カスタム] を指定する必要がないようにするには、 に進みWindow -> Preferences -> Java -> Code Style -> Clean Up -> Editます。これにより、既存のデフォルトの Eclipse クリーンアップ プロファイルが編集されます。ここで別のものを作成することもできます。


最後に、これを行うためのツールがあります。グーグルでUCDetectorオープン ソースの Eclipse プラグインにたどり着きました。これは良さそうです。スタック オーバーフローでもう一度読むと、非常に便利なツールのように見えますが、次の警告が表示されます。:)

警告: 注意してください! 削除するコードが他の場所からアクセスされていないこと (できればアクセスできないこと) を確認してください。たとえば、これを行う良い方法は、すべてのコードを追跡するバージョン管理システムを使用して (必要に応じてロールバックできるようにする)、「クリーンアップされた」バージョンをテスト システムにデプロイして、すべて問題がないことを確認することです。 、生産に移る前に。掃除のために午前 3 時に物を壊したくありません :)

于 2013-10-25T07:58:31.450 に答える
0

Sonar コード分析を使用して、未使用のクラスや減価償却されたクラスなどの使用に関する問題を特定します。Stackoverflow に関するその他の回答では、exlipse で利用できるさまざまなツールが提案されています。

プロジェクトから未使用の Java クラスと JSP ファイルを見つける方法

Java Eclipse プロジェクトで未使用のクラスを見つける

于 2013-10-25T07:47:00.767 に答える
0

プロジェクトがそれほど複雑でない場合は、クラスを右クリックしてreferences->projectメニュー オプションを選択します。

于 2013-10-25T07:46:30.733 に答える