¿Cuál es la convención de nomenclatura para las constantes de Scala? Una breve búsqueda en las sugerencias de StackOverflow CamelCase en mayúsculas (la primera línea a continuación), pero quería volver a verificar.
val ThisIsAConstant = 1.23
val THIS_IS_ANOTHER_CONSTANT = 1.55
val thisIsAThirdConstant = 1.94
¿Cuál es el estilo Scala recomendado?
scala
naming-conventions
constants
grautur
fuente
fuente
Pi
).Respuestas:
El estilo recomendado oficialmente (y quiero decir oficialmente) es el primer estilo, el caso camel con la primera letra está en mayúsculas. Odersky lo establece claramente sobre la programación en Scala.
El estilo también es seguido por la biblioteca estándar y tiene cierto soporte en la semántica del lenguaje: los identificadores que comienzan con mayúsculas se tratan como constantes en la coincidencia de patrones.
(Sección 6.10, p. 107 de la segunda edición)
fuente
(Este es un comentario de adición a la respuesta de Daniel, pero lo estoy publicando como una respuesta para el beneficio del resaltado de sintaxis y el formato).
El punto de Daniel acerca de que el estilo de usar una letra mayúscula inicial es importante en la semántica del lenguaje es más sutil e importante de lo que originalmente le di crédito cuando aprendí Scala.
Considere el siguiente código:
Ingenuamente, hubiera esperado que eso llegara a todos los casos del partido. En su lugar, imprime:
Lo que sucede es que
case Some(lowerConst)
sombrea el valorlowerConst
y crea una variable local con el mismo nombre que se completará cada vezSome
que se evalúe un que contenga una cadena.Es cierto que hay formas de evitarlo, pero la más simple es seguir la guía de estilo para nombrar constantemente.
Si no puede seguir la convención de nomenclatura, entonces, como @reggoodwin señala en los comentarios a continuación, puede poner el nombre de la variable en ticks, así
fuente
val UpperConst = "UPPER_CONST"
está bien o debería serval UpperConst = "UpperConst"
fuente
UpperConst = "UPPER_CONST"
como parte de estilo java está bien o debería serval UpperConst = "UpperConst"