Анализ кода Visual Studio против StyleCop + FxCop

Раньше я использовал StyleCop + FxCop в своих проектах Visual Studio. Но сейчас я тестирую инструмент Visual Studio Code Analysis, который проще интегрировать в MSBuild, и обнаружил, что этот инструмент анализирует некоторые правила как FxCop, так и StyleCop.

Является ли этот инструмент полной заменой FxCop и StyleCop или просто реализует некоторые из их правил?

Ответов (3)

Решение

Visual Studio включает FxCop и многое другое.

Из блога разработчиков FxCop :

Извините за мое незнание, но я полагаю, что FxCop полностью отделен от анализа кода в VSTS? В частности, я предполагаю, что если я установлю новую версию FxCop, VSTS не воспользуется преимуществом (нет общего кода?)? Если это так, есть ли идеи, когда эти изменения будут внесены в анализ кода VSTS? Спасибо!

Верно, это разные продукты, но у них есть общий движок. Visual Studio 2008 SP1 уже содержит те же исправления и анализ (плюс немного больше), поэтому нет необходимости «обновлять» Visual Studio последней версией FxCop.

Блог разработчика также дал точные правила , которые в каждом.

Что касается StyleCop, он не зависит от VS Code Analysis, как описано в этом сообщении блога , которое ссылается на сообщение Jader Dias .

До сих пор мой поиск в Google приводил к следующему ответу:

http://blogs.msdn.com/bharry/archive/2008/07/19/clearing-up-confusion.aspx

состояния:

«Мы обнаружили, что StyleCop, на самом деле, очень полезный инструмент, и он делает то, чего не делают FxCop и TeamDev (и не делает того, что они делают). Это замечательный дополнительный инструмент. StyleCop - инструмент для выполнение проверки стиля кодирования, чтобы убедиться, что исходный код отформатирован так, как вы хотите, и соответствует рекомендациям по стилю для соглашений. Хотя есть некоторое совпадение с FxCop (например, проверка заглавных букв идентификатора), совпадение минимально, поскольку StyleCop не выполняет глубокий анализ, который другие инструменты статического анализа позволяют проверять правильность кода, безопасность и т. д. "

Но я не уверен, что «TeamDev» - это то же самое, что «Анализ кода Visual Studio».

Насколько я понимаю, Visual Studio Code Analysis - это, по сути, немного измененная версия FxCop. По моему опыту, это почти одно и то же (на самом деле я считаю, что Code Analysis использует исполняемый файл FxCop за кулисами).

Хотя FxCop / CodeAnalysis и StyleCop частично совпадают; FxCop имеет тенденцию больше фокусироваться на правилах дизайна, а StyleCop фокусируется на стиле кодирования (регистр, пробелы, отступы и т. Д.).

Также FxCop анализирует IL, а StyleCop напрямую анализирует исходный код. Это накладывает разные ограничения на то, какие правила они могут применять.