Соглашение об именах в C # для констант, отличных от Pascal и All Caps - PullRequest
1 голос
/ 07 мая 2010

В моем проекте в настоящее время мы используем все заглавные буквы как соглашение об именовании констант. Я хотел бы изменить его, и я в порядке с Pascal Casing, но у моего руководителя команды есть веский аргумент, что он не будет заметно отличать константу от свойств и других типов.

Пожалуйста, помогите мне с любыми другими предложениями.

РЕЗУЛЬТАТ Как думает @Paolo Tedesco и большинство присутствующих, я буду придерживаться ALL_CAPS. В любом случае, сейчас у меня нет другого варианта, так как аргумент, предоставленный @ 24x7Programmer, не может изменить мнение моего руководителя группы. Теперь я не могу спорить по этому маленькому вопросу.

Спасибо всем за ваши предложения.

Ответы [ 7 ]

4 голосов
/ 07 мая 2010

MSDN довольно четко излагает правила именования для C #. Если бы кто-то новый пришел и присоединился к вашей команде, вы бы действительно хотели тратить время на объяснение им своих соглашений? Если бы они погрузились прямо в код, не зная ваших соглашений, вы бы действительно хотели, чтобы они теряли время в замешательстве, пытаясь выяснить, что к чему, и тратить большую часть своего времени на кодирование, используемое для ваших соглашений? Люди должны признать, что каждый язык имеет свой собственный набор соглашений, и понимать, что практика best - придерживаться их. Это сэкономит вам, членам вашей команды и новым членам много времени и головной боли.

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

3 голосов
/ 07 мая 2010

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

Functionality1Constants.ThisIsAConstant
2 голосов
/ 07 мая 2010

Существуют официальные Правила именования для .NET, которых придерживается большинство разработчиков .NET. Для меня вам понадобится гораздо более веская причина, чем «она не будет заметно отличать константу от свойств и других типов», чтобы отклониться от этих рекомендаций.

Если вы будете следовать им, ваш код будет выглядеть как код .NET, а не как код C ++, который компилируется с помощью компилятора C #.

1 голос
/ 07 мая 2010

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

0 голосов
/ 07 мая 2010

Сначала решите, что важно для имен констант, и позвольте этому руководить соглашением. Рассмотрим:

  • что это константа
  • читаемость
  • Значение имени
  • Это тип данных

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

0 голосов
/ 07 мая 2010

Почему вы должны легко различать константы?В C ++ и C имело смысл, что вы хотели легко различать макросы, но я не могу придумать какой-либо веской причины для этого.Раньше я использовал все заглавные буквы по привычке, но теперь по большей части изменил на регистр Pascal, поскольку он лучше соответствует остальной части кода.

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

0 голосов
/ 07 мая 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...