web-dev-qa-db-ja.com

大規模なリファクタリング-最後のキーワードをJavaメソッド引数に追加する方法

これは簡単な質問かもしれません:私のJavaコードを大規模にリファクタリングして、メソッドの引数のほとんどを "最終"にすることができますか?これは、 "チェックスタイル"ルールの1つに従うことです。何千ものJavaファイルなので、それらすべてを手動で編集することは、私たちにとって許容できる解決策ではないようです。

IntelliJにはそのようなリファクタリングオプションはありませんでした。誰かが役立つツールを知っていますか?それを達成するためのスマートなアプローチはありますか?

23
John Zhang

これにはIntelliJの検査メカニズムを使用できます。

  1. 「分析」->「名前で検査を実行」に移動します
  2. 「ローカル変数またはパラメーターは最終的である可能性があります」という警告を検索します
  3. 「レポートメソッドパラメータ」がチェックされている唯一のオプションであることを確認してください。
  4. ツリーのルートを選択します(ローカル変数またはパラメーターが最終である可能性があります)
  5. クリック ALT+ENTER そして「ファイナルにする」を選択します。これにより、不足しているすべての場所にfinal修飾子が追加されます。

これを行ったら、IDEでこの検査を有効にして、さらに間違いをすることについて警告することができます。

  1. [ファイル]-> [設定]-> [エディタ]-> [検査]に移動します。
  2. 「ローカル変数またはパラメーターは最終的である可能性があります」という警告を検索します
  3. 「レポートメソッドパラメータ」がチェックされている唯一のオプションであることを確認してください。
46
Mureinik

IntelliJでは、「生成されたローカル変数を最終的にする」および「生成されたパラメーターを最終的にする」オプションが有効になっていることを確認できます。

IntelliJ 2017.3では、[設定]-> [エディター]-> [コードスタイル]-> Java-> [コード生成]タブにあります。

enter image description here

8

免責事項:私はIDE戦争を開始したくないので、intelliJを使用しないので、そこにそれを行う方法があるかもしれません。しかし、あなたがそれを行うためのツールについて尋ねたので手動での作業は、別のIDEを使用して正当化できます。ここでは、Eclipseを使用します。

Eclipseでは、「クリーンアップ」タスクを構成して、可能な限りfinalを追加できます。クリーンアップタスクは、単一のエディターウィンドウで実行することも、「ソース」コンテキストメニューからプロジェクト全体で実行することもできます。

4
skomp