Жандарм против FxCop - PullRequest
       41

Жандарм против FxCop

3 голосов
/ 02 апреля 2012

Жандарм и FxCop выглядят очень похоже и, похоже, решают ту же проблему.Что бы вы предложили небольшой группе разработчиков (3-5), которые в основном работают над веб-приложением с большим количеством бизнес-логики?Почему?

Ответы [ 2 ]

9 голосов
/ 02 апреля 2012

Жандарм действительно является моно эквивалентом FxCop. Учитывая, что Microsoft планирует выпустить значительный набор правил анализа кода с большинством версий следующей Visual Studio, вы можете использовать FxCop и придерживаться этого. Интегрированная версия FxCop (называемая Code Analysis) является самой простой в использовании, если ваша версия Visual Studio поддерживает ее (Visual Studio 2010 Premium и Ultimate).

Существует надстройка для Visual Studio, которая позволяет запускать FxCop из Visual Studio Professional . Вам необходимо загрузить FxCop 10 отдельно ( это часть Windows Platform SDK ). Обратите внимание, что интегрированная версия Visual Studio содержит несколько дополнительных правил , поэтому выходные данные могут отличаться.

Поскольку Жандарм не интегрируется напрямую в Visual Studio (, хотя вы можете сделать его частью процесса сборки ), и вы не увидите, чтобы многие люди, использующие Visual Studio, использовали Жандарм. Главным образом потому, что это не слишком хорошо известно.

В конце я бы использовал FxCop с точки зрения удобства. Он интегрирован в версию Visual Studio, которую я использую по умолчанию, и хорошо известен в сообществе разработчиков.

Но если вы не используете Visual Studio Premium или Ultimate, вы можете выбрать одно или даже оба. Просто имейте в виду, что если вы выберете оба варианта, вы, вероятно, будете получать несколько повторяющихся или даже противоречивых сообщений, поскольку создатели этих различных инструментов не всегда соглашаются.

Если вы не возражаете инвестировать деньги, то, как предлагает niaher, Resharper или Coderush являются очень полезными дополнениями (я бы не назвал их заменами, так как они не не работайте вне среды IDE (например, в сборке с непрерывной интеграцией), поскольку они обеспечивают прямую обратную связь при написании кода. Часто даже без компиляции. И они часто предоставляют возможность «применить исправление» без необходимости точно определять, что делать.

8 голосов
/ 28 июня 2012

Альтернативой или хорошим дополнением к FxCop / Gendarme будет использование коммерческого инструмента NDepend . С помощью этого инструмента можно написать правило кода поверх запросов LINQ (а именно CQLinq) . Отказ от ответственности: я один из разработчиков инструмента

По умолчанию предлагается более 200 правил кода , к ним относятся дизайн , архитектура , качество кода , код evolution , соглашения об именах , мертвый код , .NET Fx использование ...

CQLinq предназначен для написания правил кода, которые могут быть проверены в реальном времени в Visual Studio или которые могут быть проверены в процессе сборки и представлены в отчете HTML / javascript .

Сила CQLinq по сравнению с FxCop или Gendarme заключается в том, что легко написать правило кода и сразу получить результатов. Предлагаются средства для просмотра соответствующих элементов кода. Конкретно это выглядит так:

CQLinq code rule

...