У меня есть свойство "EntityID" в классе. Resharper (5.1) заявляет
Имя 'EntityID' не соответствует правилу 'Методы, свойства и события. Предложенным именем является 'EntityId'.
Но по моему скромному мнению согласно соглашениям о присвоении имен в Руководстве по проектированию для Разработчиков Библиотеки классов. 'EntityID' должен прекрасно подойти:
- Не используйте акронимы, которые не являются общепринятыми в вычислительном поле.
- В соответствующих случаях используйте известные акронимы для замены длинных имен фразы. Например, используйте UI для Пользовательского интерфейса и OLAP для Оперативной аналитической обработки.
- При использовании акронимов используйте Pascal-регистр или Camel-регистр для акронимов больше чем два символа долго. Например, используйте HtmlButton или htmlButton. Однако необходимо использовать для своей выгоды акронимы, которые состоят только из двух символов, таких как Система. IO вместо Системы. Io.
- Не используйте сокращения в идентификаторах или названиях параметра. Если необходимо использовать сокращения, используйте Camel-регистр для сокращений, которые состоят больше чем из двух символов, даже если это противоречит стандартному сокращению слова
*Обновление: * Последняя версия инструкций также говорит:
Действительно используйте для своей выгоды оба символа акронимов с двумя символами, кроме первого слова идентификатора в корпусе верблюдом. Свойство под названием DBRate является примером короткого акронима (DB), используемый в качестве первого слова идентификатора в корпусе Паскалем. Параметр, названный ioChannel, является примером короткого акронима (IO), используемый в качестве первого слова идентификатора в корпусе верблюдом.
Я понимаю инструкции правильно? Если так, как я могу заставить ReSharper принять "EntityID" (известный двухбуквенный акроним), но отклонить "HTMLReader" (это должен быть HtmlReader).
Вы хотите придерживаться рекомендаций Руководства по проектированию фреймворка или хотите использовать прописные буквы ID
независимо от этого?
Последняя версия рекомендаций имеет это сказать:
Два сокращения, которые можно использовать в идентификаторах
ID
иOK
. В Идентификаторы в регистре Паскаля, которые они должны отображаются какId
иOk
. Если использовать как первое слово в верблюжьей клетке идентификатор, они должны выглядеть какid
иok
соответственно.
Таким образом, кажется, что ReSharper верен в случае Id
.
Ради интереса ReSharper также рекомендует использовать аббревиатуры для двух символов в соответствии с одними и теми же правилами регистра. Это противоречит руководящим принципам: «Делайте заглавными оба символа двухсимвольных сокращений, кроме первого слова идентификатора, записанного в верблюжьем регистре».
Самым простым решением было бы перейти в Параметры ReSharper, на вкладке «Стиль именования C #», убедиться, что выбран параметр «Переопределить общие настройки», а затем дважды щелкнуть «Методы, свойства и события». Нажмите «Добавить», чтобы добавить новый, и установите для него «UpperCamelCase» с суффиксом имени «ID».
Добавьте дополнительные суффиксы по своему усмотрению.
Вы также можете сделать это с помощью кнопки «Дополнительные настройки ...» на странице «Стиль именования C #», что дает вам гораздо больше гибкости, но я бы не стал беспокоиться об этом ...
Если вы хотите, чтобы ReSharper имел "ID" в качестве допустимого сокращения для " Identity », затем просто выберите свойство, нажмите« Alt-Enter »и затем выберите« Добавить «ID» в список сокращений »в контекстном меню ReSharper.
А что насчет «Добавить идентификатор в список сокращений» ??