Общие соглашения об именовании
В общих соглашениях об именовании обсуждается выбор наиболее оптимальных имен для элементов библиотек. Эти рекомендации относятся ко всем идентификаторам. В дальнейших разделах обсуждается именование особых элементов, таких как пространства имен или свойства.
Выбор слов
Выбирайте легко читаемые имена идентификаторов. Например, свойство "HorizontalAlignment" является более читаемым по-английски, чем "AlignmentHorizontal".
При выборе между удобочитаемостью и краткостью отдавайте предпочтение удобочитаемости. Имя свойства "CanScrollHorizontally" предпочтительнее, чем "ScrollableX" (неясная ссылка на ось X).
Не используйте подчеркивания, дефисы и другие не буквенно-цифровые знаки.
Не следует использовать венгерскую нотацию.
Венгерская нотация заключается в использовании префикса в идентификаторах для кодирования некоторых метаданных параметра, таких как тип данных идентификатора.
Избегайте использования идентификаторов, конфликтующих с ключевыми словами широко используемых языков программирования.
В то время как в CLS-совместимых языках должен быть предусмотрен способ использования ключевых слов в качестве обычных слов, лучше не вынуждать разработчиков узнавать, как это делается. В документации к большинству языков программирования содержится список используемых языком ключевых слов. В следующей таблице приведены ссылки на справочную документацию для некоторых широко используемых языков программирования.
Язык |
Ссылка |
---|---|
C# |
|
C++ |
|
Visual Basic |
Сокращения и акронимы
В общем случае в именах не должны использоваться сокращения или акронимы. Это приводит к ухудшению читаемости имен. Кроме того, достаточно трудно понять, широко ли используется акроним.
Правила использования прописных букв в сокращениях см. в разделе Соглашения о написании прописными буквами.
Не используйте аббревиатуры или сокращения как часть имени идентификатора.
Например, предпочтительнее использовать OnButtonClick, чем OnBtnClick.
Не используйте акронимы, которые не являются общепринятыми, но даже общепринятые акронимы следует использовать только в случае необходимости.
Имена, зависящие от языка
Для имен типов предпочтительнее использование семантически значимых имен, чем ключевых слов конкретного языка. Например, имя "GetLength" предпочтительнее, чем "GetInt".
В редких случаях, когда идентификатор не имеет семантического значения за пределами своего типа, используйте имя универсального типа среды CLR, а не имя, принятое в конкретном языке.
Например, метод, преобразующий данные в значения типа Int16, должен иметь имя ToInt16, а не ToShort, так как Short является именем типа для Int16 в определенных языках.
В следующей таблице приведены имена типов, используемые в наиболее распространенных языках программирования и их аналоги в среде CLR.
Имя типа в C# |
Имя типа в Visual Basic |
Имя типа в JScript |
Имя типа в Visual C++ |
Представление Ilasm.exe |
Имя типа в среде CLR |
---|---|---|---|---|---|
sbyte |
SByte |
sByte |
char |
int8 |
SByte |
byte |
Byte |
byte |
unsigned char |
unsigned int8 |
Byte |
short |
Short |
short |
short |
int16 |
Int16 |
ushort |
UInt16 |
ushort |
unsigned short |
unsigned int16 |
UInt16 |
int |
Целое число |
int |
int |
int32 |
Int32 |
uint |
UInt32 |
uint |
unsigned int |
unsigned int32 |
UInt32 |
long |
Long |
long |
__int64 |
int64 |
Int64 |
ulong |
UInt64 |
ulong |
unsigned __int64 |
unsigned int64 |
UInt64 |
float |
Single |
float |
float |
float32 |
Single |
double |
Double |
double |
double |
float64 |
Double |
bool |
Boolean |
логический |
bool |
bool |
Boolean |
char |
Char |
char |
wchar_t |
char |
Char |
string |
Строка |
string |
Строка |
string |
Строка |
object |
Объект |
object |
Объект |
object |
Объект |
В редких случаях, когда идентификатор не имеет семантического значения, а тип параметра неважен, предпочтительнее использование обычных имен, таких как значение или элемент, чем повторение имени типа.
Фрагменты — © Корпорация Майкрософт (Microsoft Corp.), 2005. Все права защищены.
Фрагменты — © Addison-Wesley Corporation. Все права защищены.
Для дополнительной информации о разработке руководящих принципов, смотрите "руководства по разработке рамок: Конвенций, идиомы и шаблоны для повторного использования.NET библиотек"книга, Кшиштоф Cwalina и Брэд Абрамс, опубликованных Addison-Wesley, 2005 года.