Qual é a convenção de nomenclatura para constantes Scala? Uma breve pesquisa no StackOverflow sugere CamelCase maiúscula (a primeira linha abaixo), mas eu queria verificar novamente.
val ThisIsAConstant = 1.23
val THIS_IS_ANOTHER_CONSTANT = 1.55
val thisIsAThirdConstant = 1.94
Qual é o estilo Scala recomendado?
scala
naming-conventions
constants
Grautur
fonte
fonte
Pi
).Respostas:
O estilo oficialmente recomendado (e quero dizer oficialmente) é o primeiro estilo, a caixa do camelo com a primeira letra é maiúscula. É estabelecido claramente por Odersky em Programação em Scala.
O estilo também é seguido pela biblioteca padrão e tem algum suporte na semântica da linguagem: identificadores que começam com maiúsculas são tratados como constantes na correspondência de padrões.
(Seção 6.10, p. 107 na segunda edição)
fonte
(Este é um comentário adendo à resposta de Daniel, mas estou postando-o como uma resposta para o benefício de realce de sintaxe e formatação.)
O argumento de Daniel sobre o estilo de usar uma letra maiúscula inicial sendo importante na semântica da linguagem é mais sutil e importante do que originalmente dei crédito quando aprendi Scala.
Considere o seguinte código:
Ingenuamente, eu esperava que isso atingisse todas as caixas da partida. Em vez disso, imprime:
O que está acontecendo é que
case Some(lowerConst)
sombreia o vallowerConst
e cria uma variável local de mesmo nome que será populada sempre que umSome
contendo uma string for avaliado.Certamente, existem maneiras de contornar isso, mas a mais simples é seguir o guia de estilo para nomenclatura constante.
Se você não pode seguir a convenção de nomenclatura, então como @reggoodwin aponta nos comentários abaixo, você pode colocar o nome da variável em ticks, assim
fonte
val UpperConst = "UPPER_CONST"
tudo bem ou deveria serval UpperConst = "UpperConst"
fonte
UpperConst = "UPPER_CONST"
like part java-style ok ou deveria serval UpperConst = "UpperConst"