В своей статье 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 не поддерживает конкретные соглашения об именовании или использовании заглавных букв для частных идентификаторов, как показано в примерах, представленных в вопросе.