Анализ кода Visual Studio vs StyleCop + FxCop - PullRequest
72 голосов
/ 24 февраля 2009

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

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

Ответы [ 3 ]

47 голосов
/ 02 марта 2009

Visual Studio включает в себя FxCop + еще.

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

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

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

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

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

13 голосов
/ 25 февраля 2009

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

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

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

11 голосов
/ 24 февраля 2009

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

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

гласит:

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

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

...