2017-02-16 6 views
1

IntelliJので、私はIntelliJのは、これらの変数をハイライト表示し、私はすぐに + を入力しAltキーとfinalキーワードを追加できるようになるように、オンfinalを行うことができる変数をチェックする検査がありますIntelliJのは、ファイル全体を通じて検査修正プログラムを適用

一般的にfinalキーワードを使用しない他人のコードを開くときは、できる限りファイル全体またはプロジェクト全体に含めることができるすべての変数にfinalをすばやく追加したいと思います。

これをIntelliJで簡単に行うための簡単な方法などがありますか?

+2

これは役立つと思います。https://intellij-support.jetbrains.com/hc/en-us/community/posts/206886125-Applying-Suggested-to-the-whole-File – Mzf

答えて

0

回答がありません。私の意見に裏打ちされましたが、最終的には、コード品質トピックを考えて長年の経験を積んでいます。

私は知っています、これはスタイルです。でも、あなたののスタイルは役に立たないと思います。それとは反対に。だから答えは:それをしないでください。どんな変数にも無差別にfinalを入れないでください。

重要なことは、あなたのソースコードを正確かつ冗長的にしたいだけでなく、 "最小限のもの"にすることです。覚えておいてください:書かれたそれぞれのキャラクターは読む必要があります。そして、人間の読者の脳によって「解析され、処理される」。

あなたが書き留めているもののバランスをとる必要があります。そして事は:時のほとんど、それらのfinalキーワードでないあなたのソースコードに値を追加してください。ゼロ。

  1. クラスのフィールド:

    finalが本当に違いが2つだけの場所があります。これらはデフォルトでfinalである必要があります - それはの不変のオブジェクトの途中にあります。それは本当に良いことです。もちろん、フィールドで値を変更できるようにする必要がある場合もあります。しかし、言ったように:それは例外でなければならない。

  2. ラムダ、匿名の内部クラスに入る変数...つまり、の変数は変更されないようにする必要があります。 「異なる」コンテキストでそれらを使用することは「安全」になります。しかし、何を推測する:Java8では、コンパイラはを効果的に最終変数を検出することを学んだ。だからfinalというキーワードがなくてもlambadsで使うことができます。だから、Java言語の父親でさえ、あなたはそのキーワードの使用を避けるように勧めます!

しかし、これらの2つのケースを超えて。あなたのコードには数がありますfinalはあなたの脳が消化しなければならない入力に貢献します。あなたのプログラムに価値を追加することなく。

短いストーリー:このポリシーで達成しようとしていることをもう一度考え直してください。

最後に

:あなたはあなたが誰か他の人のコードに変更を元に戻すにはを覚えているだろうことを確信していますか?ご覧のとおり、誰もあなたのスタイルをサポートしているわけではありません。他のコードを簡単に変更する方法だけを尋ねるべきではありません。またどのように復帰それらは後で変更を戻します。そのソースコードを少し変更しなければならないと仮定します。あなたのリポジトリにコミットしてください。手動で変更したfinalの変更を元に戻して元に戻してください。他のすべての「本当の」変更が維持されることを保証します。

2

link@Mzfありがとうございました!そのポストから

あなたは + final行うことができるそのような変数の上にマウスを移動するとき、ショートカットを入力し、Enterキーを押し、そして選択し、典型的なAltキーを使用して、現在のファイルでこれを達成することができます"すべてを修正する"ローカル変数またはパラメータはファイル内の最終的な問題になる可能性があります。

Screenshot of solution

ダウンそのサブメニューの次の項目は、あなたのプロジェクトで複数のファイルに修正プログラムを適用することができます「に...ラン検査」、です。

関連する問題