private const int THE_ANSWER = 42;
или
private const int theAnswer = 42;
Лично я думаю, что с современными IDE мы должны использовать CamelCase, так как ALL_CAPS выглядит странно. Что вы думаете?
c#
naming-conventions
const
mmiika
источник
источник
theAnswer
. Ранее был фанатом нотаций в Венгрии, но с тех пор, как я научился его не использовать, я люблю строго избегать мета-указаний в именовании. То же самое касается интерфейсов, какIInterface
. Я предпочитаюInterfacable
. Но, работая в команде, я должен был соблюдать правила :(Ответы:
Рекомендуемое именование и капитализация конвенция заключается в использовании P ascal C asing для констант (Microsoft есть инструмент под названием StyleCop , что документы всех предпочтительные конвенции и могут проверить источник на предмет соответствия - хотя это немного слишком анально сохраняющие вкусы многих людей) , например
Соглашение об использовании заглавных букв в Паскале также задокументировано в Руководстве по проектированию платформы Microsoft .
источник
Визуально верхний регистр - это путь. Это так узнаваемо. Ради уникальности и не оставляя шансов угадать, я голосую за UPPER_CASE!
Примечание . Верхний регистр будет полезен, когда константы должны использоваться в одном и том же файле в верхней части страницы и для целей интеллектуального анализа; однако, если бы они были перемещены в независимый класс, использование верхнего регистра не имело бы большого значения, например:
источник
На самом деле, это
По крайней мере, если вы посмотрите на библиотеку .NET, какой IMO - лучший способ решить соглашения об именах - чтобы ваш код не выглядел неуместно.
источник
Я все еще использую заглавные буквы для константных значений, но это скорее привычка, чем по какой-то конкретной причине.
Конечно, это позволяет сразу увидеть, что что-то является const. Вопрос для меня: действительно ли нам нужна эта информация? Помогает ли это нам как-то избежать ошибок? Если я назначу значение const, компилятор скажет мне, что я сделал что-то глупое.
Мой вывод: иди с верблюжьей шкурой. Может быть, я тоже поменяю свой стиль ;-)
Редактировать:
То, что что-то пахнет венгерским, не совсем верный аргумент, ИМО. Вопрос всегда должен быть: это помогает, или это больно?
Есть случаи, когда венгерский помогает. Не так много в наше время, но они все еще существуют.
источник
Во-первых, венгерская нотация - это практика использования префикса для отображения типа данных параметра или предполагаемого использования. Соглашения Microsoft о присвоении имен для отказа от венгерской нотации http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx
Использование UPPERCASE не рекомендуется, как указано здесь: Pascal Case является приемлемым соглашением и SCREAMING CAPS. http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming
Microsoft также заявляет, что UPPERCASE можно использовать, если это сделано для соответствия существующей схеме. http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx
Это в значительной степени подводит итог.
источник
В своей статье Constants (Руководство по программированию в C #) Microsoft приводит следующий пример:
Итак, для констант, похоже, что Microsoft рекомендует использовать
camelCasing
. Но обратите внимание, что эти константы определены локально .Возможно, наименование внешне видимых констант представляет больший интерес. На практике Microsoft документирует свои открытые константы в библиотеке классов .NET как поля . Вот некоторые примеры:
static readonly
)Первые два примера
PascalCasing
. Третий, кажется, следует за Соглашениями о капитализации Microsoft для двухбуквенной аббревиатуры (хотя pi не является акрионимом). И четвертый, кажется, предполагает, что правило для двухбуквенного акрионима распространяется на однобуквенное сокращение или идентификатор, такой какE
(который представляет математическую константу e ).Кроме того, в своем документе «Соглашения о капитализации» Microsoft прямо заявляет, что идентификаторы полей должны быть названы через,
PascalCasing
и приводит следующие примеры для MessageQueue.InfiniteTimeout и UInt32.Min :Вывод: используйте
PascalCasing
для открытых констант (которые задокументированы какconst
илиstatic readonly
поля).Наконец, насколько мне известно, Microsoft не поддерживает конкретные соглашения об именовании или использовании заглавных букв для частных идентификаторов, как показано в примерах, представленных в вопросе.
источник
Оставь венгров венграм.
В примере я бы даже пропустил окончательную статью и просто пошел с
Это ответ или это ответ?
* Сделано редактировать как Паскаль строго правильно, однако я думал, что вопрос в том, чтобы искать больше ответа на жизнь, вселенную и все остальное .
источник
The
если бы мог. :-)Я действительно предпочитаю PascalCase здесь - но по привычке я виновен в UPPER_CASE ...
источник
Я полагаю, что ALL_CAPS взят из способа работы C и C ++. В этой статье здесь объясняет , как различия в стиле произошло.
В новых IDE, таких как Visual Studio, легко определить типы, область действия и, если они постоянны, это не является строго обязательным.
Программное обеспечение FxCop и Microsoft StyleCop поможет вам дать рекомендации и проверить ваш код, чтобы все работали одинаково.
источник