Was ist die Namenskonvention für Scala-Konstanten? Eine kurze Suche nach StackOverflow-Vorschlägen in Großbuchstaben CamelCase (die erste Zeile unten), aber ich wollte es noch einmal überprüfen.
val ThisIsAConstant = 1.23
val THIS_IS_ANOTHER_CONSTANT = 1.55
val thisIsAThirdConstant = 1.94
Welcher Scala-Stil wird empfohlen?
scala
naming-conventions
constants
grautur
quelle
quelle
Pi
).Antworten:
Der offiziell empfohlene Stil (und ich meine offiziell) ist der erste Stil, Kamelkoffer mit Anfangsbuchstaben sind Großbuchstaben. Es wird von Odersky über die Programmierung in Scala klar festgelegt.
Dem Stil folgt auch die Standardbibliothek und wird in der Sprachsemantik unterstützt: Bezeichner, die mit Großbuchstaben beginnen, werden beim Mustervergleich als Konstanten behandelt.
(Abschnitt 6.10, S. 107 in der zweiten Ausgabe)
quelle
(Dies ist ein Nachtragskommentar zu Daniels Antwort, aber ich poste ihn als Antwort, um die Syntax hervorzuheben und zu formatieren.)
Daniels Argument, dass der Stil der Verwendung eines Anfangsbuchstaben in der Sprachsemantik wichtig ist, ist subtiler und wichtiger, als ich es ursprünglich beim Erlernen von Scala anerkannt hatte.
Betrachten Sie den folgenden Code:
Naiv hätte ich erwartet, dass das alle Fälle im Match erreichen würde. Stattdessen wird gedruckt:
Was passiert ist, dass die
case Some(lowerConst)
Schatten den WertlowerConst
und eine lokale Variable mit dem gleichen Namen erstellt, die jedes MalSome
ausgefüllt wird, wenn eine, die eine Zeichenfolge enthält, ausgewertet wird.Es gibt zwar Möglichkeiten, dies zu umgehen, aber die einfachste besteht darin, den Styleguide für die ständige Benennung zu befolgen.
Wenn Sie der Namenskonvention nicht folgen können, können Sie, wie @reggoodwin in den Kommentaren unten ausführt, den Variablennamen wie folgt in Häkchen setzen
quelle
val UpperConst = "UPPER_CONST"
okay oder es sollte seinval UpperConst = "UpperConst"
quelle
UpperConst = "UPPER_CONST"
wie Teil Java-Stil okay oder es sollte seinval UpperConst = "UpperConst"