Подтвердить что ты не робот

Есть ли инструмент автооповещения StyleCop/FxCop?

Есть ли инструмент, который может автоматически исправлять правила StyleCop и FxCop, а не вручную фиксировать тысячи предупреждений и ошибок?

Должен быть один, это такая хорошая возможность для бизнеса!

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

StyleFix устранит многие нарушения, обнаруженные StyleCop.
GhostDoc позволяет легко добавлять комментарии к вашим методам.

Lateley Я использовал Telerik JustCode. Это действительно помогает ПРЕДОТВРАТИТЬ проблемы стиля.

Ответ 3

FxCop пока еще не имеет собственных функций фиксации. Проект Roslyn (предназначенный для выхода где-то после VS11) предоставит новый движок для правил статического анализа и поставляется с исправлением, встроенным в качестве функции.

Существует ряд инструментов, которые предоставляют свои собственные правила фиксации. Некоторые из них были упомянуты раньше:

Они иногда обозначают те или иные вещи, кроме FxCop или StyleCop. И здесь существует опасность противоречивых правил. Что уже происходит здесь и там, если вы один из таких инструментов, как FxCop.

И есть несколько проектов с открытым исходным кодом, которые пытаются обеспечить исправления для наиболее распространенных предупреждений FxCop и StyleCop. Я не пробовал те для StyleCop, но большинство инструментов FxCop для автоматической фиксации не очень хорошо работают, так как существует несколько правил FxCop, которые действительно легко исправить.

Ни один из этих инструментов не сможет помочь вам исправить пользовательские правила (или правила, которые вы загрузили из других источников, таких как MSOCAF или проекты с открытым исходным кодом (FxCopContrib) или другие проекты Microsoft (такие как правила, включенные в Программное обеспечение веб-службы с открытым исходным кодом Factory CTP).

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

  • Возьмем, к примеру, правило производительности, требующее, чтобы все ваши методы были статичными. Это на самом деле указывает вам, что у вас есть классы с низкой связностью. Простое маркирование всего статического кода может сделать ваш код чуть-чуть быстрее, но не улучшит ваш дизайн и, безусловно, сделает тестирование и поддержку вашего кода более сложным в долгосрочной перспективе.
  • Или правило, в котором упоминается, вы должны предоставить IFormatProvider любому методу, который имеет перегрузку, которая его поддерживает. Я вижу слишком много разработчиков, которые просто кладут CurrentCulture туда и делают с ним. Все еще возникают ошибки импорта/экспорта при передаче файлов между двумя системами с различной конфигурацией. Поскольку глобализация, локализация и интернационализация трудны для решения.

Это гораздо меньше относится к StyleCop, поскольку стиль кодирования часто не связан с фактической базовой реализацией или дизайном. И похоже, что StylecopFixer - отличное дополнение, если вы не используете Решающая интеграция, которая по умолчанию поставляется с StyleCop.

Ответ 4

StyleCop может быть (для некоторых нарушений) - есть тонны форматировщиков кода.

FxCop no (что я знаю).

ReSharper может помочь с его очисткой кода и рефакторингом, но он не будет волшебно исправлять все нарушения FxCop (хотя он будет указывать и помогите исправить некоторые проблемы).

Проблемы с FxCop аналогичны шаблонам проектирования; они обычно требуют, чтобы мысль определяла правильный способ применения решения. В некоторых случаях нарушение может не применяться и может быть подавлено. Вы также можете настраивать правила FxCop для ваших конкретных потребностей; стандартные правила были предназначены для распределенных структур и библиотек и не являются универсальными. Однако большинство из них - очень хорошие предложения.

Ответ 5

StyleCopFixer - это инструмент, который автоматически исправляет исключения StyleCop в среде Visual Studio IDE.

Ответ 6

Некоторые инструменты, которые я использую для исправления проблем с исправлением стиля, заключаются в следующем:

  • CodeMaid (бесплатный один открытый исходный код)
  • GhostDoc (Уже предложено в более ранних ответах в том же сообщении. Вам нужно купить это, поставляется с ограниченным 14-дневным пробным выпуском )
  • StyleCopFixer (Уже предложено в более ранних ответах в том же сообщении. Свободный, поставляется как расширение для VS2010)

Надеюсь, это поможет:)

Ответ 7

Запуск Stylecop в первый раз, как правило, большинство ошибок, возникших в моем опыте, связаны с форматированием кода.

Я использовал два инструмента для реорганизации кода для соответствия правилам Stylecop:

Первый стал моим предпочтением; это инструмент командной строки, я добавил это к настраиваемым инструментам в Visual Studio. Второй - плагин для Visual Studio, поэтому было удобно работать с отдельными файлами.

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

Я не думаю, что есть инструменты для FxCop, и я не уверен, что должно быть..

Ответ 8

StyleCopAutoFix - это консольное приложение, которое автоматически исправляет нарушения StyleCop, связанные с отсутствующими (или ненужными) пустыми строками. Это бесплатный open-source.

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

Если вы используете Visual Studio, я также рекомендую запустить этот script: https://gist.github.com/JayBazuzi/9e0de544cdfe0c7a4358. Он автоматически автоматически форматирует весь код всех файлов в решении.

В проектах я запускал это приложение (и VS script выше), он исправляет до 60% всех нарушений.

Отказ от ответственности: я автор этого.

Ответ 9

Существует (относительно) новое расширение Visual Studio на блоке (StyleCopAid) - попробуйте:

https://visualstudiogallery.msdn.microsoft.com/505d2931-143f-4055-b7dd-a5d7c95bb085

Среди прочего - исправляет правила упорядочения, подавляет некоторые сообщения и имеет отмену.