Есть ли инструмент, который может автоматически исправлять правила StyleCop и FxCop, а не вручную фиксировать тысячи предупреждений и ошибок?
Должен быть один, это такая хорошая возможность для бизнеса!
Есть ли инструмент, который может автоматически исправлять правила StyleCop и FxCop, а не вручную фиксировать тысячи предупреждений и ошибок?
Должен быть один, это такая хорошая возможность для бизнеса!
Нет, разочаровывает. Вот почему Style Cop является контрпродуктивным. Согласованное форматирование выглядит неплохо, но для него мало пользы в производительности (что действительно затрудняет чтение кода - длина и indirection). Идеальный интервал не стоит тратить часы, настраивая линии вручную.
Если бы был автоматизированный инструмент для достижения согласованного форматирования, я мог бы подключить его после регистрации. Но стиль Cop сделан садистами, которые заставляют пользователя делать утомительное форматирование вручную. Предположительно, их разговор шел следующим образом:
Боб: Используя сопоставление с образцом, программное обеспечение идентифицирует уродливый код
Чарли: и это исправляет!
Боб: Нет. Он печатает сообщение о каждом нарушении.
Чарли: И тогда пользователь щелкает правой кнопкой мыши, чтобы исправить их всех?
Боб: Нет. Сообщение ругает их "недопустимое расстояние между запятыми".
Чарли: И затем объясняет, как пользователь может это исправить?
Боб: Нет, эта информация находится в отдельном документе.
Чарли: В Google?
Боб: Нет.
Я ненавижу Style Cop. Это ниже минимально жизнеспособного продукта.
StyleFix устранит многие нарушения, обнаруженные StyleCop.
GhostDoc позволяет легко добавлять комментарии к вашим методам.
Lateley Я использовал Telerik JustCode. Это действительно помогает ПРЕДОТВРАТИТЬ проблемы стиля.
FxCop пока еще не имеет собственных функций фиксации. Проект Roslyn (предназначенный для выхода где-то после VS11) предоставит новый движок для правил статического анализа и поставляется с исправлением, встроенным в качестве функции.
Существует ряд инструментов, которые предоставляют свои собственные правила фиксации. Некоторые из них были упомянуты раньше:
Они иногда обозначают те или иные вещи, кроме FxCop или StyleCop. И здесь существует опасность противоречивых правил. Что уже происходит здесь и там, если вы один из таких инструментов, как FxCop.
И есть несколько проектов с открытым исходным кодом, которые пытаются обеспечить исправления для наиболее распространенных предупреждений FxCop и StyleCop. Я не пробовал те для StyleCop, но большинство инструментов FxCop для автоматической фиксации не очень хорошо работают, так как существует несколько правил FxCop, которые действительно легко исправить.
Ни один из этих инструментов не сможет помочь вам исправить пользовательские правила (или правила, которые вы загрузили из других источников, таких как MSOCAF или проекты с открытым исходным кодом (FxCopContrib) или другие проекты Microsoft (такие как правила, включенные в Программное обеспечение веб-службы с открытым исходным кодом Factory CTP).
И, особенно с правилами FxCop, я вижу, что, хотя вещь, помеченная, которая кажется очень простой в разрешении, на самом деле указывает на гораздо более серьезную проблему.
Это гораздо меньше относится к StyleCop, поскольку стиль кодирования часто не связан с фактической базовой реализацией или дизайном. И похоже, что StylecopFixer - отличное дополнение, если вы не используете Решающая интеграция, которая по умолчанию поставляется с StyleCop.
StyleCop может быть (для некоторых нарушений) - есть тонны форматировщиков кода.
FxCop no (что я знаю).
ReSharper может помочь с его очисткой кода и рефакторингом, но он не будет волшебно исправлять все нарушения FxCop (хотя он будет указывать и помогите исправить некоторые проблемы).
Проблемы с FxCop аналогичны шаблонам проектирования; они обычно требуют, чтобы мысль определяла правильный способ применения решения. В некоторых случаях нарушение может не применяться и может быть подавлено. Вы также можете настраивать правила FxCop для ваших конкретных потребностей; стандартные правила были предназначены для распределенных структур и библиотек и не являются универсальными. Однако большинство из них - очень хорошие предложения.
StyleCopFixer - это инструмент, который автоматически исправляет исключения StyleCop в среде Visual Studio IDE.
Некоторые инструменты, которые я использую для исправления проблем с исправлением стиля, заключаются в следующем:
Надеюсь, это поможет:)
Запуск Stylecop в первый раз, как правило, большинство ошибок, возникших в моем опыте, связаны с форматированием кода.
Я использовал два инструмента для реорганизации кода для соответствия правилам Stylecop:
Первый стал моим предпочтением; это инструмент командной строки, я добавил это к настраиваемым инструментам в Visual Studio. Второй - плагин для Visual Studio, поэтому было удобно работать с отдельными файлами.
Как уже упоминалось, есть некоторые инструменты, которые пытаются исправить некоторые ошибки Stylecop, но, на мой взгляд, они работали довольно плохо, поэтому я отказался от их использования и не могу рекомендовать.
Я не думаю, что есть инструменты для FxCop, и я не уверен, что должно быть..
StyleCopAutoFix - это консольное приложение, которое автоматически исправляет нарушения StyleCop, связанные с отсутствующими (или ненужными) пустыми строками. Это бесплатный open-source.
В то время как объем исправлений, которые он исправляет, довольно ограничен, они фиксируют их безопасным способом (маловероятно, что он нарушит ваш код или изменит поведение). Эти нарушения также являются наиболее распространенными.
Если вы используете Visual Studio, я также рекомендую запустить этот script: https://gist.github.com/JayBazuzi/9e0de544cdfe0c7a4358. Он автоматически автоматически форматирует весь код всех файлов в решении.
В проектах я запускал это приложение (и VS script выше), он исправляет до 60% всех нарушений.
Отказ от ответственности: я автор этого.
Существует (относительно) новое расширение Visual Studio на блоке (StyleCopAid) - попробуйте:
https://visualstudiogallery.msdn.microsoft.com/505d2931-143f-4055-b7dd-a5d7c95bb085
Среди прочего - исправляет правила упорядочения, подавляет некоторые сообщения и имеет отмену.