Мы должны начать использовать FxCop и/или StyleCop в сформировавшемся проекте?

У нас есть 3-летнее решение (.sln) приблизительно с 20 проектами (.csproj). Разумно начать использовать FxCop и/или StyleCop? Возможно, мы должны использовать его для нескольких маленьких проектов сначала, но не для целого решения?

Было бы хорошо видеть некоторые опытные ответы.

Спасибо.

Править: Мы используем TeamCity для непрерывной интеграции. И у нас нет возможности использовать ReSharper. :( CodeRushXpress только.

12
задан Vasyl Boroviak 17 March 2010 в 09:36
поделиться

4 ответа

Да, вы должны, но медленно.

Возьмите ReSharper, установите StyleCop и плагин StyleCop for ReSharper, настройте, какие правила вы хотите использовать, и с этого момента каждый открытый вами файл будет полон волнистых синих линий, указывающих вам, где все плохо.

Если вы будете просто исправлять их, по одному файлу за раз, то в конечном итоге вы получите прекрасный чистый проект, без необходимости убеждать своего босса позволить вам потратить 3 недели на изучение проекта, не делая ничего, что привело бы к оплачиваемому времени!

Получение чистого кода похоже на рефакторинг, если вы попытаетесь сделать это над всем проектом сразу, вы окажетесь в затруднительном положении :)

.
10
ответ дан 2 December 2019 в 20:16
поделиться

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

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

В конце вы разрешите все сообщения либо путем внесения соответствующих исправлений, либо выборочно отключив посторонние правила.

Как правило (без каламбура) я считаю группы «Безопасность» и «Производительность» хорошими для начала. Правила именования субъективны и могут противоречить вашим собственным соглашениям. Выключите их, если так. Мобильность и глобализация также субъективны и зависят от ваших потребностей. В остальном выводы делайте сами!

1
ответ дан 2 December 2019 в 20:16
поделиться

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

РЕДАКТИРОВАТЬ :

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

0
ответ дан 2 December 2019 в 20:16
поделиться

Я только начал использовать StyleCop в своих личных проектах, и мне нужно немного времени, чтобы проработать поднятые «проблемы».

Я бы рекомендовал запустить StyleCop на образце ваших файлов и проанализировать результаты перед запуском, чтобы внести какие-либо изменения.

Например, по умолчанию StyleCop жалуется на отсутствие документации по всем методам, как общедоступным, так и частным. Я не могу ответить за вас, но вам нужно решить, хотите ли вы, чтобы у частных методов была полная документация или нет (есть аргументы в обоих направлениях). Но так или иначе нужно решить. Вы же не хотите тратить 6 месяцев на то, чтобы внести изменения одним способом, а затем решить, что вы хотите сделать это другим. Это либо заставит вас внести ненужные изменения, либо придется пересмотреть код, который, как вы думали, вы закончили.

После того, как вы внесете необходимые изменения в настройки StyleCop, а затем отпустите их в своей кодовой базе - по одному проекту за раз.

2
ответ дан 2 December 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: