В своей статье Constants (Руководство по программированию в C #) Microsoft приводит следующий пример:
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;
}
Итак, для констант, похоже, что Microsoft рекомендует использовать camelCasing. Но обратите внимание, что эти константы определены локально .
Возможно, наименование внешне видимых констант представляет больший интерес. На практике Microsoft документирует свои открытые константы в библиотеке классов .NET как поля . Вот некоторые примеры:
Первые два примера PascalCasing. Третий, кажется, следует за Соглашениями о капитализации Microsoft для двухбуквенной аббревиатуры (хотя pi не является акрионимом). И четвертый, кажется, предполагает, что правило для двухбуквенного акрионима распространяется на однобуквенное сокращение или идентификатор, такой как E(который представляет математическую константу e ).
Кроме того, в своем документе «Соглашения о капитализации» Microsoft прямо заявляет, что идентификаторы полей должны быть названы через, PascalCasingи приводит следующие примеры для MessageQueue.InfiniteTimeout и UInt32.Min :
public class MessageQueue
{
public static readonly TimeSpan InfiniteTimeout;
}
public struct UInt32
{
public const Min = 0;
}
Вывод: используйте PascalCasingдля открытых констант (которые задокументированы как constили static readonlyполя).
Наконец, насколько мне известно, Microsoft не поддерживает конкретные соглашения об именовании или использовании заглавных букв для частных идентификаторов, как показано в примерах, представленных в вопросе.