private const int THE_ANSWER = 42;
ou
private const int theAnswer = 42;
Pessoalmente, acho que, com os IDEs modernos, devemos usar o camelCase, pois ALL_CAPS parece estranho. O que você acha?
c#
naming-conventions
const
mmiika
fonte
fonte
theAnswer
. Anteriormente era um fã de notação húngaro, mas desde que aprendi a não usá-lo, adoro evitar estritamente qualquer meta indicação na nomeação. O mesmo vale para interfaces comoIInterface
. Eu prefiroInterfacable
. Mas quando se trabalha em uma equipe, eu tenho que cumprir as regras :(Respostas:
A nomeação recomendado e convenção capitalização é usar P Ascal C asing para constantes (Microsoft tem uma ferramenta chamada StyleCop que documenta todas as convenções preferenciais e pode verificar a sua fonte para o cumprimento - embora seja um pouco demais anal retentiva para o gosto de muitas pessoas) . por exemplo
A convenção de capitalização de Pascal também está documentada nas Diretrizes de Design da Estrutura da Microsoft .
fonte
Visualmente, Maiúsculas é o caminho a percorrer. É tão reconhecível assim. Por uma questão de exclusividade e sem chance de adivinhar, voto em UPPER_CASE!
Nota : A maiúscula será útil quando as constantes forem usadas dentro do mesmo arquivo na parte superior da página e para fins de inteligência; no entanto, se eles fossem movidos para uma classe independente, o uso de Maiúsculas não faria muita diferença, como um exemplo:
fonte
Na verdade, é
Pelo menos, se você olhar para a biblioteca .NET, qual IMO é a melhor maneira de decidir as convenções de nomenclatura - para que seu código não pareça deslocado.
fonte
Eu ainda uso maiúsculas para valores const, mas isso é mais por hábito do que por qualquer motivo específico.
É claro que facilita ver imediatamente que algo é uma const. A pergunta para mim é: realmente precisamos dessa informação? Isso nos ajuda de alguma maneira a evitar erros? Se eu atribuir um valor à const, o compilador me dirá que fiz algo estúpido.
Minha conclusão: Vá com a carcaça de camelo. Talvez eu mude meu estilo também ;-)
Editar:
Que algo cheira a húngaro não é realmente um argumento válido, IMO. A pergunta deve sempre ser: Ajuda ou dói?
Há casos em que o húngaro ajuda. Não há muitos hoje em dia, mas eles ainda existem.
fonte
Primeiro, a notação húngara é a prática de usar um prefixo para exibir o tipo de dados de um parâmetro ou o uso pretendido. As convenções de nomenclatura da Microsoft dizem não à notação húngara http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx
O uso de MAIÚSCULAS não é incentivado como indicado aqui: Pascal Case é a convenção aceitável e SCREAMING CAPS. http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming
A Microsoft também afirma aqui que UPPERCASE pode ser usado se for feito para corresponder ao esquema existente. http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx
Isto resume bem.
fonte
Em seu artigo Constantes (Guia de Programação em C #) , a Microsoft fornece o seguinte exemplo:
Portanto, para constantes, parece que a Microsoft está recomendando o uso de
camelCasing
. Mas observe que essas constantes são definidas localmente .Indiscutivelmente, o nome de constantes visíveis externamente é de maior interesse. Na prática, a Microsoft documenta suas constantes públicas na biblioteca de classes .NET como campos . aqui estão alguns exemplos:
static readonly
)Os dois primeiros são exemplos de
PascalCasing
. O terceiro parece seguir as Convenções de Capitalização da Microsoft para um acrônimo de duas letras (embora pi não seja um acrônimo). E a quarta parece sugerir que a regra para um acrônimo de duas letras se estende a um único acrônimo ou identificador de letra comoE
(que representa a constante matemática e ).Além disso, em seu documento de convenções de capitalização, a Microsoft afirma diretamente que os identificadores de campo devem ser nomeados via
PascalCasing
e fornece os seguintes exemplos para MessageQueue.InfiniteTimeout e UInt32.Min :Conclusão: use
PascalCasing
para constantes públicas (documentadas comoconst
oustatic readonly
campos).Por fim, até onde eu sei, a Microsoft não defende convenções específicas de nomeação ou uso de maiúsculas para identificadores particulares, como mostra os exemplos apresentados na pergunta.
fonte
Deixe o húngaro para os húngaros.
No exemplo, eu até deixaria de fora o artigo definitivo e apenas iria com
Essa é a resposta ou é a resposta?
* Feito como editar Pascal estritamente correto, no entanto, eu estava pensando que a pergunta estava buscando mais uma resposta para a vida, o universo e tudo .
fonte
The
que eu pudesse. :-)Na verdade, tendem a preferir o PascalCase aqui - mas, por hábito, sou culpado de UPPER_CASE ...
fonte
O ALL_CAPS é retirado da maneira de trabalhar em C e C ++, acredito. Este artigo aqui explica como surgiram as diferenças de estilo.
Nos novos IDEs, como o Visual Studio, é fácil identificar os tipos, escopo e se eles são constantes, de modo que não é estritamente necessário.
O software FxCop e Microsoft StyleCop ajudará a fornecer diretrizes e a verificar seu código para que todos trabalhem da mesma maneira.
fonte