回答がありません。私の意見に裏打ちされましたが、最終的には、コード品質トピックを考えて長年の経験を積んでいます。
私は知っています、これはスタイルです。でも、あなたののスタイルは役に立たないと思います。それとは反対に。だから答えは:それをしないでください。どんな変数にも無差別にfinal
を入れないでください。
重要なことは、あなたのソースコードを正確かつ冗長的にしたいだけでなく、 "最小限のもの"にすることです。覚えておいてください:書かれたそれぞれのキャラクターは読む必要があります。そして、人間の読者の脳によって「解析され、処理される」。
あなたが書き留めているもののバランスをとる必要があります。そして事は:時のほとんど、それらのfinal
キーワードでないあなたのソースコードに値を追加してください。ゼロ。
- クラスのフィールド:
final
が本当に違いが2つだけの場所があります。これらはデフォルトでfinal
である必要があります - それはの不変のオブジェクトの途中にあります。それは本当に良いことです。もちろん、フィールドで値を変更できるようにする必要がある場合もあります。しかし、言ったように:それは例外でなければならない。
- ラムダ、匿名の内部クラスに入る変数...つまり、の変数は変更されないようにする必要があります。 「異なる」コンテキストでそれらを使用することは「安全」になります。しかし、何を推測する:Java8では、コンパイラはを効果的に最終変数を検出することを学んだ。だから
final
というキーワードがなくてもlambadsで使うことができます。だから、Java言語の父親でさえ、あなたはそのキーワードの使用を避けるように勧めます!
しかし、これらの2つのケースを超えて。あなたのコードには数がありますfinal
はあなたの脳が消化しなければならない入力に貢献します。あなたのプログラムに価値を追加することなく。
短いストーリー:このポリシーで達成しようとしていることをもう一度考え直してください。
最後に
:あなたはあなたが誰か他の人のコードに変更を元に戻すにはを覚えているだろうことを確信していますか?ご覧のとおり、誰もあなたのスタイルをサポートしているわけではありません。他のコードを簡単に変更する方法だけを尋ねるべきではありません。またどのように復帰それらは後で変更を戻します。そのソースコードを少し変更しなければならないと仮定します。あなたのリポジトリにコミットしてください。手動で変更したfinal
の変更を元に戻して元に戻してください。他のすべての「本当の」変更が維持されることを保証します。
これは役立つと思います。https://intellij-support.jetbrains.com/hc/en-us/community/posts/206886125-Applying-Suggested-to-the-whole-File – Mzf