C # Переменная Naming - PullRequest
       42

C # Переменная Naming

12 голосов
/ 21 июля 2011

Мне было интересно, как лучше именовать переменную в C #?Я знаю, что есть несколько разных способов, но мне было просто интересно, почему некоторые люди предпочитают один другому другому?

Я склонен использовать строчную букву, представляющую тип (я думаю, что это венгерский метод?), Но многолюдям это не нравится, что лучше?

Пример:

string sMyString
string MyString
string myString
string mystring

Спасибо

Ответы [ 7 ]

26 голосов
/ 21 июля 2011

Наиболее распространенное соглашение, которое я видел с c # при именовании полей и локальных переменных: регистр верблюда :

string myString

Здесь - это рекомендации Microsoft по капитализациив с #.Они заявляют (среди прочего):

Следующие рекомендации предоставляют общие правила для идентификаторов.

Использовать регистр Pascal для всех открытых имен членов, типов и пространств имен, состоящих изнескольких слов.

Обратите внимание, что это правило не применяется к полям экземпляра.По причинам, подробно изложенным в Руководстве по проектированию элементов, не следует использовать открытые поля экземпляров.

Использовать верблюжий корпус для имен параметров.


Я бы добавил, что это необходимо согласовать с членами вашей команды.

10 голосов
/ 21 июля 2011

Давно развивающаяся тенденция повторяет

string meaningfulNameOfVariable;

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

3 голосов
/ 21 июля 2011

Я бы сослался на рекомендации MSDN .Моя практика, по крайней мере там, где я работал, string myDescriptiveStringName для локальных переменных и private string _myDescriptiveStringName для переменных класса.Для свойств это будет public string MyDescriptiveStringName { get; set; }

Но большинство организаций следуют (или, по крайней мере, должны) определенным соглашениям.Лучше не отклоняться от этих рекомендаций, если только вы не хотите быть на горячем месте во время экспертных проверок.;-) Есть несколько исключений, конечно, отклоняющихся.

3 голосов
/ 21 июля 2011

Я бы пошел на string myString, это нормальный путь C #. Если вы посмотрите на примеры в документации MSDN для .NET / C #, вы быстро почувствуете лучшую практику.

Локальные переменные имеют CamelCased. Венгерская нотация считается плохой практикой в ​​безопасном языке. Система типов заботится о том, чтобы знать тип для вас.

0 голосов
/ 21 июля 2011

Это зависит от разных вещей ... Если вы пишете код самостоятельно, вы можете использовать то, что предпочитаете ... Обычно я думаю, что большинство разработчиков C # предпочитают верблюжий случай ...

Если вы работаетедля компании и т. д. вы должны придерживаться их стандартов кодирования ...

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

0 голосов
/ 21 июля 2011

На практике это вопрос соглашения) Именование становится проблемой, когда все в отделе пишут своим собственным видением)

Используйте ReSharper или аналогичные инструменты с такими же свойствами соглашения об именах в вашем отделе)

0 голосов
/ 21 июля 2011
...