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


Соглашения о написании прописными буквами

Примечание.

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

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

Правила использования прописных букв в идентификаторах

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

  • PascalCasing

  • camelCasing

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

PropertyDescriptor HtmlTag

Для акронимов с двумя буквами используется особый случай — буквы пишутся прописными, как показано в следующем идентификаторе:

IOStream

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

propertyDescriptor ioStream htmlTag

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

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

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

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

Написание прописных букв в составных словах и распространенных терминах

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

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

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

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

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

Фрагменты: © Корпорация Майкрософт (Microsoft Corporation), 2005, 2009. Все права защищены.

Перепечатано с разрешения Pearson Education, Inc. из книги Инфраструктура программных проектов. Соглашения, идиомы и шаблоны для многократно используемых библиотек .NET (2-е издание), авторы: Кржиштоф Цвалина (Krzysztof Cwalina) и Брэд Абрамс (Brad Abrams). Книга опубликована 22 октября 2008 г. издательством Addison-Wesley Professional в рамках серии, посвященной разработке для Microsoft Windows.

См. также