Sonar: Array sollte nachkommendes Komma enthalten

8

Sonar zeigt mir eine kleine Arbeitssage:

%Vor%

Und mein Code enthält:

%Vor%

Warum sollte ich ein abschließendes Komma einfügen?

    
Jordi P.S. 23.08.2013, 09:29
quelle

2 Antworten

15
  

Warum sollte ich ein abschließendes Komma einfügen?

Das musst du nicht. Ich vermute, Sonar sollte dort nur eine Warnung anzeigen.

Es hängt von der Präferenz des Programmierers ab, was er bevorzugt. Das Hinzufügen eines abschließenden Kommas am Ende des Arrays erleichtert das spätere Entfernen oder Hinzufügen eines Eintrags aus dem Array.

Also, wenn Sie ein Array haben wie:

%Vor%

Zum Hinzufügen eines Eintrags müssen Sie nur diesen Eintrag mit einem abschließenden Komma am Ende Ihres Arrays hinzufügen. Ohne Komma müssten Sie zuerst ein Komma und dann das Element hinzufügen.

Um ein Element zu entfernen, müssen Sie nur die Zeile entfernen, die dieses Element enthält. Oder einfach diese Zeile auskommentieren.

%Vor%

Wenn ein abschließendes Komma nicht erlaubt ist, müssen Sie das Komma entfernen, wenn Sie das letzte Element entfernen. Nun, ich weiß, dass dieser Grund ziemlich absurd ist. Aber das ist nur erlaubt.

Dies ist sehr vorteilhaft für Codegeneratoren, während der Code für die Array-Initialisierung generiert wird. Sie können einfach Elemente mit abschließenden Kommas im Array hinzufügen, ohne sich Gedanken darum zu machen, ob es das letzte Element ist.

Nehmen wir ein Beispiel:

%Vor%

Überlegen Sie, ob ein abschließendes Komma nicht erlaubt ist, wie dieser Code aussehen würde. Sie müssten das letzte Element separat behandeln. Also, es tut den Code-Generatoren nur gut.

    
Rohit Jain 23.08.2013, 09:31
quelle
5

JLS (§10.6) gibt an :

  

Ein abschließendes Komma kann nach dem letzten Ausdruck in einem Array-Initialisierer erscheinen und wird ignoriert.

Es ist in keiner Weise notwendig.

Es ist jedoch eine Art Stilwahl, und es kann Dinge einfacher machen, um das letzte Element neu anzuordnen, zu manipulieren und / oder zu kopieren. Das Verschieben von RequiredPermissions.API_PASSWORD_RECOVER an einen anderen Ort oder das Einfügen neuer Einträge darunter kann einfacher sein, da Sie kein zusätzliches Komma hinzufügen und einen Syntaxfehler aufgrund von Tippfehlern oder Fehleingaben riskieren müssen.

    
hexafraction 23.08.2013 09:31
quelle

Tags und Links