Может ли StyleCop автоматически что-то исправить? - PullRequest
24 голосов
/ 07 мая 2009

Я решил запустить StyleCop для проекта среднего размера и получаю более 1000 предупреждений.

Есть ли простой способ исправить большинство этих предупреждений? Большинство предупреждений можно было легко автоматизировать, чтобы сэкономить много времени.

Ответы [ 8 ]

10 голосов
/ 13 сентября 2012

Нет, разочарование . Вот почему Style Cop является контрпродуктивным. Непротиворечивое форматирование выглядит красиво, но при этом мало что дает производительности (что действительно затрудняет чтение кода - это длина и косвенность ). Идеальное расстояние не стоит тратить часы на настройку линий вручную.

Конечно, если бы существовал автоматизированный инструмент для достижения согласованного форматирования, я бы подключил его после регистрации и позволил мне помочь. Но Style Cop сделан садистами. Предположительно, их разговор шел так:

Боб: Используя сопоставление с образцом, программа идентифицирует некрасивый код
Чарли: - и исправляет это!
Боб: Нет, он печатает сообщение о каждом нарушении
Чарли: - а затем пользователь щелкнет правой кнопкой мыши, чтобы исправить их все?
Боб: Нет, он ругает их «недопустимый интервал вокруг запятой»
Чарли: - а потом объясняет, как это исправить?
Боб: Нет, это в отдельном документе
Чарли: - в Google?
Боб: Нет.

Я ненавижу Style Cop. Это ниже минимального жизнеспособного продукта.

10 голосов
/ 07 мая 2009

Это не "автоматически исправляет что-либо", но есть плагин StyleCop для Resharper на Codeplex , который автоматически выделит ошибки стиля в вашем коде.

Обновление: Согласно веб-сайту StyleCop для ReSharper , ReSharper теперь предоставляет растущее число быстрых исправлений для ошибок StyleCop. Вы выбираете быстрое исправление из списка, и проблема будет решена автоматически.

4 голосов
/ 01 февраля 2013

StyleCopFixer автоматически исправляет исключения StyleCop в Visual Studio IDE только для C #

В настоящее время обрабатываются следующие ошибки:

  1. SA1001
  2. SA1516
  3. SA1513
  4. SA1508
  5. SA1507
  6. SA1505
  7. SA1309
  8. SA1210
  9. SA1202
  10. SA1200
  11. SA1106
  12. SA1101
  13. SA1025
  14. SA1013
  15. SA1012
  16. SA1009
  17. SA1008
  18. SA1633
  19. SA1003
  20. SA1005
  21. SA1600 (только для недвижимости)
  22. SA1121
2 голосов
/ 05 ноября 2009

В codeplex есть проект, который выполняет автоматическое исправление на основе предупреждения stylecop. Это не завершено, однако ...

см .: http://stylefix.codeplex.com/

1 голос
/ 23 декабря 2014

Code Maid делает некоторые исправления Stylecop.

0 голосов
/ 08 мая 2009

Если у вас есть Resharper, вы можете скачать плагин StyleCop для Resharper, который имеет некоторые автоматические исправления. StyleCop для Resharper на codeplex.

0 голосов
/ 07 мая 2009

К сожалению, сейчас я не знаю ни одного автоматического инструмента для полного исправления ситуации.

Однако, если вы настроите параметры форматирования Visual Studio (и Resharper, если он у вас есть) для форматирования кода в соответствии с рекомендациями стилевого полицейского, очистка станет немного проще.

Как только вы это сделаете, вы можете зайти в файл и выполнить «Правка» - «Дополнительно» -> «Формат документа» (или сочетание клавиш, которое зависит от ваших настроек сочетания клавиш - у меня есть Ctrl + K, Ctrl + D). Это исправит довольно много предупреждений стиля полицейского, особенно если у вас есть resharper + плагин stylecop. Он не исправит все из них, но во многих случаях он принимает количество предупреждений в файле с сотен до десятков.

0 голосов
/ 07 мая 2009
  1. Отключите предупреждения! Не рекомендуется, но вы можете использовать это в краткосрочной перспективе, пока не получите большую часть решенных проблем.
  2. Напишите программу для исправления некоторых более простых предупреждений или используйте поиск / замену
  3. Используйте фрагменты кода, чтобы помочь с такими вещами, как документация заголовка файла

В блоге StyleCop 1010 * было упомянуто о внедрении автоматического исправления для правил

Также ознакомьтесь с записью в блоге об интеграции в существующий крупный проект.

Примечание. Кажется, что StyleCop возвращает только около 1000 предупреждений, поэтому вы продолжите получать это число даже после исправления кучи.

...