Почему все константы не в верхнем регистре в .Net? - PullRequest
7 голосов
/ 24 сентября 2010

Соглашения Microsoft об именах для .Net помещают константы в Pascal Case На самом деле, он явно говорит нам избегать использования всех заглавных букв для констант:

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

С MSDN .

В SO я нашел несколько вопросов по этому вопросу, например one , но я не смог найти обоснования. Итак, кто-нибудь знает или имеет ссылку, указывающую на то, почему MS выбрал это соглашение?

Ответы [ 5 ]

9 голосов
/ 24 сентября 2010

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

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

4 голосов
/ 06 января 2011

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

Перейдя с Java на C, я начал использовать underscores_between_words в именах переменных и функциях. camelCase крайне ужасен для меня сейчас. Но я все еще использую camelCase для C ++ / Java, не жалуясь, потому что это соглашение.

Если вы не можете проявить гибкость, программирование станет суровой любовницей. Это умение программиста.

4 голосов
/ 24 сентября 2010

ПОТОМУ ЧТО ВСЁ ВЕРХНЯЯ СЛУЧАЯ УГРОЗА И ТРУДНО ЧИТАТЬ, И ЭТО НАМЕРЕНО ДЛЯ ПРЕКОМПИЛЕРА, КОТОРОГО .NET НЕ ДАЖЕ.

Кроме того, Билл Гейтс так хочет, и деньги никогда не ошибаются.

2 голосов
/ 24 сентября 2010

Microsoft не следует своим собственным правилам, потому что если вы задумаетесь над новыми классами System.Threading.Tasks в c # 4 YOU_WILL_FIND_LOTS_OF_CAP_CONSTANTS.

Это вещь стиля. Лично я не против. Просто будьте последовательны.

1 голос
/ 19 января 2011

Так же, как BTW - EBCDIC - это расширенная версия BCD (двоично-десятичная дробь), *1001* и, как таковая, безусловно, поддерживает строчные буквы. Это машины 60-х годов и более ранние (и другие), в которых не было строчных букв.

(И, конечно, ранние домашние компьютеры, такие как TRS-80, также не имели строчных букв)

...