Включение анализа кода с TFS 2008 с минимальным воздействием
У нас есть веб-приложение.NET с 172 проектами на TFS 2008, которое охватывает все 3 уровня приложения и использует Team Build for CI. Мы используем VS2010 для разработки.
Мы хотели бы активировать анализ кода для всех проектов с минимальным рекомендуемым набором правил и обеспечить соблюдение политики регистрации в TFS, чтобы анализ кода выполнялся один раз перед регистрацией. Но мы хотели бы оказать минимальное влияние на наших разработчиков в отношении их регулярная проверка разработки в процессе. Каждый раз, когда мы включаем анализ кода в свойствах проекта, обычное время сборки этого проекта увеличивается на 100%. Мы провели анализ проблем анализа кода, и, хотя их много, даже для этого набора правил, он может быть распределен среди всех разработчиков, которые могут их исправить, делая свои существующие улучшения.
Итак, в основном у нас есть два типа сборок, которые мы делаем:
- Обычные сборки проверяют правильность кода, что происходит несколько раз, прежде чем мы проверяем код.
- Финальная сборка перед регистрацией, где мы также хотели бы проверить анализ кода.
Поэтому мы создали другую конфигурацию решения под названием "DebugWithCA", в которой в его проектах был разрешен анализ кода, поэтому перед тем, как разработчик проверяет код, он переключает конфигурацию с Debug на DebugWithCA, строит и исправляет проблемы анализа кода, а затем регистрирует. Таким образом, для обычных сборок разработчик остается в конфигурации решения отладки и не должен нести дополнительное время сборки, вызванное анализом кода.
Но это также кажется непомерной нагрузкой, поскольку у нас много проверок в течение дня (многие разработчики), и переключение конфигурации решения каждый раз, когда вы регистрируетесь и переключаете его обратно, становится проблемой.
Есть ли более простой способ выполнить наше требование? При сборке, есть ли комбинация клавиш, которую мы можем назначить, чтобы она строилась с помощью Code Analysis или собиралась с определенной конфигурацией решения в VS2010?
1 ответ
Я могу думать о двух прагматических подходах, чтобы обойти вашу проблему. Оба предложения выводят анализ кода из критического пути / времени разработки.
- Активируйте свою конфигурацию DebugWithCA в Gated Check-in. Разработчик просто регистрирует код, а система сборки обеспечивает выполнение анализа кода и внесение изменений только в том случае, если не нарушены основные правила.
- Еще более расслабленным; просто выполните Rolling Builds на основе конфигурации DebugWithCA. Разработчики могут забрать нарушения правил в автономном режиме. Менее предпочтительный вариант, но также менее навязчивый.