IntelliJ IDEA unterstreicht Variablen, wenn += in JAVA verwendet wird

Lesezeit: 3 Minuten

fandangos Benutzeravatar
Fandango

Seit dem neuen Update (2018.2) unterstreicht IntelliJ IDEA Variablen, wenn sie „unnötig“ neu zugewiesen werden – dazu gehört allerdings jede Verwendung von „+=“.
Ist das ein Fehler in der IDE oder verstehe ich das falsch?
Bitte sehen Sie sich diese grundlegende Methode als Beispiel an. (Es fügt nur eine Liste von Zahlen hinzu.)

Beispielbild

  • Ich bin mir nicht sicher, aber wenn Sie jdk 10 verwenden, können diese Untergebenen Ihnen vorschlagen, dass Sie es verwenden können var anstatt int.

    – Zlakad

    5. August 2018 um 18:32 Uhr

  • Danke für die Antwort. Ich habe tatsächlich auf jdk 8/1.8 heruntergestuft, weil niemand mein Glas öffnen konnte 🙂

    – Fandango

    5. August 2018 um 18:34 Uhr

  • Nun, es ist eine unnötige Neuzuweisung in dem Sinne, dass Sie einfach einen Stream verwenden könnten, um es zu berechnen … Aber ich sehe nicht, dass Sie dort etwas Ungewöhnliches tun.

    – Andy Turner

    5. August 2018 um 18:46 Uhr


Benutzeravatar von CrazyCoder
CrazyCoder

Es ist ein neue Funktion von IntelliJ IDEA 2018.2:

Unterstreichen von neu zugewiesenen lokalen Variablen und neu zugewiesenen Parametern

IntelliJ IDEA unterstreicht jetzt standardmäßig neu zugewiesene lokale Variablen und neu zugewiesene Parameter. Die Attribute für alle Sprachen, die diese Funktion unterstützen, zu denen derzeit Java und Groovy gehören, können geändert werden Präferenzen/Einstellungen | Herausgeber | Farbschema | Sprachvorgaben | Identifikatoren | Neu zugewiesen.

unterstreichen

Warum kann es nützlich sein?

Wenn die Variable/der Parameter unterstrichen ist, wissen Sie, dass Sie sie nicht direkt in der Lambda/Anonymous-Klasse verwenden können.

Wenn beim Lesen eines sehr langen Methodencodes der Parameter nicht unterstrichen ist, wissen Sie sicher, dass sein Wert nirgendwo in dieser Methode neu zugewiesen wird und dass er genau denselben Wert enthält, der dieser Methode zu irgendeinem Zeitpunkt übergeben wurde.

Einige Code-Richtlinien sind gegen neu zugewiesene Variablen, und Sie sollten sie nach Möglichkeit vermeiden, um den Code sauber zu halten und das Lesen/Debuggen zu erleichtern.

Heutzutage ziehen es viele Entwickler vor, veränderliche Zustände zu vermeiden und Variablen nur in seltenen Fällen neu zuzuweisen, wenn es wirklich notwendig ist. Wir wollen die Unveränderlichkeit nicht manuell erzwingen, wir nehmen an, dass alles standardmäßig unveränderlich ist, und möchten zusätzliche Aufmerksamkeit auf die Fälle lenken, in denen etwas dies nicht ist. Wenn du benutzt final Um nicht veränderliche Variablen zu markieren, müssen Sie für normale Fälle mehr Code und für Ausnahmefälle weniger Code schreiben. (Übrigens erfordert das Deklarieren unveränderlicher Variablen in modernen Sprachen kein Schreiben von zusätzlichem Code, aber leider nicht in Java).

Brian Goetz, Java Language Architect, mag auch die Art und Weise, wie IntelliJ IDEA neu zugewiesene Variablen hervorhebt (siehe sein Tweet).

  • Es ist im Grunde was final kann verwendet werden (nur nicht jeder verwendet es)

    – ACV

    29. Januar 2019 um 15:32 Uhr


  • Eine der schlechtesten Intellij-Verbesserungen, die ich seit einiger Zeit gesehen habe. Jemand hat ein Usability-Problem mit ihnen angesprochen. Fühlen Sie sich frei, es hochzustimmen: youtrack.jetbrains.com/issue/IDEA-207835

    – ACV

    5. August 2019 um 10:18 Uhr


Hoffe dieser Screenshot hilft weiter.

Geben Sie hier die Bildbeschreibung ein

Wenn Sie wissen, was das ist Nebeneffekt beim Programmieren dann wird es dir leicht fallen. Um Ihre Variable vor dem zu schützen Nebenwirkungzeigt die IDE den Unterstrich als Warnung an.

1444350cookie-checkIntelliJ IDEA unterstreicht Variablen, wenn += in JAVA verwendet wird

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy