ReSharper жалуется на прописные буквы "ID" в элементе "EntityID" - PullRequest
24 голосов
/ 28 июля 2010

У меня есть свойство "EntityID" в классе.Resharper (5.1) говорит:

Имя «EntityID» не соответствует правилу «Методы, свойства и события».Рекомендуемое имя: 'EntityId'.

Но ИМХО в соответствии с соглашениями по присвоению имен в Руководства по проектированию для разработчиков библиотек классов .'EntityID' должен быть совершенно нормальным:

  • Не используйте аббревиатуры, которые не являются общепринятыми в вычислительной области.
  • Где это применимо, используйте общеизвестные аббревиатуры для заменыдлинные имена фраз.Например, используйте пользовательский интерфейс для интерфейса пользователя и OLAP для оперативной аналитической обработки.
  • При использовании сокращений используйте регистр Pascal или верблюд для сокращений длиной более двух символов.Например, используйте HtmlButton или htmlButton.Однако следует использовать заглавные буквы, состоящие только из двух символов, например System.IO вместо System.Io.
  • Не используйте сокращения в идентификаторах или именах параметров.Если вы должны использовать сокращения, используйте регистр верблюдов для сокращений, которые состоят из более чем двух символов, даже если это противоречит стандартному сокращению слова

* Обновление: * В последней версии руководящих принципов также говорится:

Делайте прописными буквами оба символа двухсимвольных сокращений, кроме первого слова идентификатора в верблюжьей оболочке. Свойство с именем DBRateпример короткой аббревиатуры (DB), используемой в качестве первого слова идентификатора в Паскале.Параметр с именем ioChannel является примером короткой аббревиатуры (IO), используемой в качестве первого слова идентификатора в верблюжьей клетке.

Правильно ли я понимаю рекомендации?Если так, как я могу заставить ReSharper принимать «EntityID» (хорошо известное двухбуквенное сокращение), но отклонять «HTMLReader» (это должен быть HtmlReader).

Ответы [ 4 ]

43 голосов
/ 28 июля 2010

Если вы хотите, чтобы ReSharper имел «ID» в качестве действительной аббревиатуры для «Identity», затем просто выберите «Свойство», нажмите «Alt-Enter» и затем выберите «Добавить« ID »в список сокращений» в контексте ReSharperменю.

21 голосов
/ 28 июля 2010

Вы хотите придерживаться рекомендаций Руководства по проектированию платформы или использовать прописные буквы ID независимо от того?

В последней версии руководства есть следующее:

Две аббревиатуры, которые можно использовать в идентификаторах ID и OK. В Идентификаторы в Паскале отображаются как Id и Ok. Если используется как первое слово в верблюжьей шкуре идентификатор, они должны выглядеть как id и ok соответственно.

Так что, похоже, ReSharper верен в случае Id.

Из интереса, ReSharper также рекомендует, чтобы два символьных акронима следовали одним и тем же правилам. Это противоречит принципам: «Делать заглавными оба символа двухсимвольных сокращений, кроме первого слова идентификатора в верблюжьей клетке».

8 голосов
/ 28 июля 2010

Самое простое решение - перейти в Параметры ReSharper, на вкладке «Стиль именования C #», выбрать «Переопределить общие настройки» и дважды щелкнуть «Методы, свойства и события». Нажмите «Добавить», чтобы добавить новый и установить для него «UpperCamelCase» с суффиксом имени «ID».

Добавляйте дополнительные суффиксы по своему усмотрению.

Вы также можете сделать это с помощью кнопки «Расширенные настройки ...» на странице «Стиль именования C #», которая дает вам большую гибкость, но я бы не стал беспокоиться об этом ...

5 голосов
/ 28 июля 2010

А как насчет "Добавить 'ID' в список сокращений" ??

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