Em seu artigo Constantes (Guia de Programação em C #) , a Microsoft fornece o seguinte exemplo:
class Calendar3
{
const int months = 12;
const int weeks = 52;
const int days = 365;
const double daysPerWeek = (double) days / (double) weeks;
const double daysPerMonth = (double) days / (double) months;
}
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:
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 como E(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 PascalCasinge fornece os seguintes exemplos para MessageQueue.InfiniteTimeout e UInt32.Min :
public class MessageQueue
{
public static readonly TimeSpan InfiniteTimeout;
}
public struct UInt32
{
public const Min = 0;
}
Conclusão: use PascalCasingpara constantes públicas (documentadas como constou static readonlycampos).
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.