Почему константы не все в верхнем регистре in.Net?

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

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

с MSDN.

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

5 ответов


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

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


ПОТОМУ ЧТО ВСЕ ПРОПИСНЫЕ БУКВЫ УРОДЛИВЫ И ТРУДНО ЧИТАЮТСЯ, И ОН ПРЕДНАЗНАЧЕН ДЛЯ ПРЕКОМПИЛЯТОРА, КОТОРОГО .NET ДАЖЕ НЕ ИМЕЕТ.

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


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

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

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


Microsoft не следуя своим собственным правилам, потому что если вы размышляете над новой системой.Нарезка резьбы.Классы задач в c# 4 YOU_WILL_FIND_LOTS_OF_CAP_CONSTANTS.

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


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

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