web-dev-qa-db-ja.com

IntelliJ IDEA JAVA=

新しい更新(2018.2)IntelliJ IDEAは、変数が「不必要に」再割り当てされたときに下線を引きます。ただし、これには「+ =」の各使用が含まれます。
これはIDEの間違いですか?それとも間違っていますか?
この基本的な方法を例としてご覧ください。 (数字のリストを追加するだけです。)

example image

23
fandango

IntelliJの 新機能 IDEA 2018.2:

再割り当てされたローカル変数と再割り当てされたパラメータの下線を引く

IntelliJ IDEAは、デフォルトで再割り当てされたローカル変数と再割り当てされたパラメータに下線を引きます。この機能をサポートするすべての言語の属性は、現在JavaとGroovy、 Preferences/Settings | Editor | Color Scheme | Language Defaults | Identifiers | Reassignedで変更できます。

underline

なぜ役立つのでしょうか?

変数/パラメーターに下線が付いている場合、ラムダ/匿名クラスで直接使用できないことがわかります。

非常に長いメソッドコードを読み取るときに、パラメーターに下線が引かれていない場合、その値はこのメソッドのどこにも再割り当てされず、任意の時点でこのメソッドに渡された値とまったく同じ値を含むことが確実にわかります。

一部のコードガイドラインは、再割り当てされた変数に反しているため、コードをクリーンに保ち、読み取り/デバッグを容易にするために、可能な限りそれらを回避することができます。

今日、多くの開発者は可変状態を避け、実際に必要なまれな場合にのみ変数を再割り当てすることを好みます。不変を手動で強制したくはありません。デフォルトではすべてが不変であり、そうでない場合にはさらに注意を向けたいと考えています。 finalを使用して不変変数をマークすると、通常の場合はより多くのコードを記述し、例外的な場合はより少ないコードを記述する必要があります。 (不変の変数を宣言する現代言語のところでは、追加のコードを書く必要はありませんが、残念ながらJavaではありません)。

Brian Goetz、Java Language Architectは、IntelliJ IDEAが再割り当てされた変数を強調表示する方法も気に入っています( his Tweet を参照)。

28
CrazyCoder