Поделиться через


Правила использования заглавных букв

Замечание

Это содержимое перепечатывается разрешением Pearson Education, Inc. из руководства по проектированию платформы: соглашения, идиомы и шаблоны для повторно используемых библиотек .NET, 2-го выпуска. Этот выпуск был опубликован в 2008 году, и книга с тех пор была полностью пересмотрена в третьем выпуске. Некоторые сведения на этой странице могут быть устаревшими.

В этом разделе описан простой метод использования, который при согласованном применении делает идентификаторы типов, членов и параметров легко считываемыми.

Правила прописи для идентификаторов

Чтобы отличить слова в идентификаторе, заглавите первую букву каждого слова в идентификаторе. Не используйте подчеркивания для отличия слов или в любом месте идентификаторов. Существует два подходящих способа капитализации идентификаторов в зависимости от их использования.

  • PascalCasing

  • верблюдьи

Соглашение PascalCasing, используемое для всех идентификаторов, кроме имен параметров, прописывает первый символ каждого слова (включая акронимы длиной более двух букв), как показано в следующих примерах.

PropertyDescriptor HtmlTag

Особый случай делается для двухбуквенных акронимов, в которых обе буквы заглавные, как показано в следующем идентификаторе:

IOStream

Соглашение camelCasing, используемое только для имен параметров, прописывает первый символ каждого слова, кроме первого слова, как показано в следующих примерах. Как показано в примере, двухбуквенные акронимы, начинающие идентификатор в стиле CamelCase, указаны строчными буквами.

propertyDescriptor ioStream htmlTag

✔️ Используйте PascalCasing для всех общедоступных элементов, типов и пространств имен, состоящих из нескольких слов.

✔️ Обязательно используйте стиль написания «camelCasing» для имен параметров.

В следующей таблице описываются правила прописи для различных типов идентификаторов.

Идентификатор Регистр Пример
Пространство имен Паскаль namespace System.Security { ... }
Тип Паскаль public class StreamReader { ... }
Интерфейс Паскаль public interface IEnumerable { ... }
Метод Паскаль public class Object {
public virtual string ToString();
}
Недвижимость Паскаль public class String {
public int Length { get; }
}
Событие Паскаль public class Process {
public event EventHandler Exited;
}
Поле Паскаль public class MessageQueue {
public static readonly TimeSpan
InfiniteTimeout;
}
public struct UInt32 {
public const Min = 0;
}
Значение перечисления Паскаль public enum FileMode {
Append,
...
}
Параметр Верблюд public class Convert {
public static int ToInt32(string value);
}

Правила написания с заглавной буквы составных слов и распространённых терминов

Большинство составных терминов рассматриваются как отдельные слова для целей прописи.

❌ НЕ записывать каждое слово с заглавной буквы в так называемых закрытых словосочетаниях.

Это составные слова, написанные как одно слово, например конечная точка. Для целей руководства по регистру следует рассматривать составное слово с закрытой формой как одно слово. Используйте текущий словарь, чтобы определить, записывается ли составное слово в закрытой форме.

Паскаль Верблюд Не
BitFlag bitFlag Bitflag
Callback callback CallBack
Canceled canceled Cancelled
DoNot doNot Don't
Email email EMail
Endpoint endpoint EndPoint
FileName fileName Filename
Gridline gridline GridLine
Hashtable hashtable HashTable
Id id ID
Indexes indexes Indices
LogOff logOff LogOut
LogOn logOn LogIn
Metadata metadata MetaData, metaData
Multipanel multipanel MultiPanel
Multiview multiview MultiView
Namespace namespace NameSpace
Ok ok OK
Pi pi PI
Placeholder placeholder PlaceHolder
SignIn signIn SignOn
SignOut signOut SignOff
UserName userName Username
WhiteSpace whiteSpace Whitespace
Writable writable Writeable

Чувствительность к регистру

Языки, которые могут работать в среде CLR, не обязаны поддерживать чувствительность к регистру, хотя некоторые её поддерживают. Даже если ваш язык программирования поддерживает это, другие языки, которые могут обращаться к вашей системе, этого не делают. Таким образом, любые API, которые являются внешне доступными, не могут полагаться только на регистр, чтобы различать два имени в одном контексте.

❌ НЕ предполагайте, что все языки программирования чувствительны к изменению регистра. Они нет. Имена не могут отличаться по одному регистру.

© Часть 2005, 2009 Корпорация Майкрософт. Все права защищены.

Перепечатан с разрешения Pearson Education, Inc. из Руководство по проектированию: Соглашения, идиомы и шаблоны для повторного использования библиотек .NET, 2-е издание Кшиштоф Чвалина и Брэд Абрамс, опубликованное 22 октября 2008 года Addison-Wesley Профессиональный в рамках серии разработки Microsoft Windows.

См. также