Следует ли добавить выходную папку nDepend в систему управления версиями?

Задний план

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

Я очень заинтересован в сохранении исторических результатов анализа nDepend и заметил, что nDepend делает это довольно хорошо по умолчанию, помещая такие результаты в папку, определенную $(NdProjectOutputDir) — обычно это подпапка с именем NDependOut, расположенная непосредственно под папкой .ndproj находится.

введите здесь описание изображения

Однако это означает, что сгенерированные nDepend XML и двоичные файлы находятся вместе с моим исходным кодом.

введите здесь описание изображения

Я прочитал следующие статьи nDepend:

...и даже попробовал выполнить поиск в Google "ndepend ndependout source control", что на момент написания последнего было не особенно полезно для моих вопросов ниже.

Вопросы

  1. Следует ли добавить NDependOut в SCM? Они кажутся мне по сути выходными артефактами в результате исходного кода, точно так же, как компиляция проекта и не должна быть добавлена. Но я не уверен, что философия применима
  2. Если папка NDependOut добавляется в систему управления версиями для других пользователей, возникает ли риск конфликта?
  3. Должны ли мы вместо этого назначить одного человека (или, возможно, сборочную машину) единственным издателем таких отчетов?

При этом отмечу, что в корневой папке NDependOut находятся два файла:

  • NDependAnalysisResult_VIP_2015Jun11_18h33.ndar – двоичный файл
  • InfoWarnings.xml — текст явно

person MickyD    schedule 12.06.2015    source источник


Ответы (1)


Как вы заметили, вы вполне вольны решать. Когда вы написали:

Однако это означает, что сгенерированные NDepend XML и двоичные файлы находятся вместе с моим исходным кодом.

...может быть, это означает, что вы не видели возможности настроить оба...

  • результат исторического анализа + корневая папка хранилища отчетов,

  • и корневые папки хранилища метрик тенденций,

...оба из Свойства проекта NDepend > Анализ, см. скриншоты ниже.


Чтобы ответить на ваш вопрос в обратном порядке:

3) Я бы сказал, что если вы решите хранить эти данные в SCM, это должно быть сделано вашим процессом сборки автоматически после успешного процесса сборки + анализ NDepend.

2) Нет риска конфликта между результатами исторического анализа и отчетами, поскольку они хранятся в иерархии папок, названных в честь даты/времени сборки. Что касается метрики тренда, то да, существует риск конфликта, поскольку хранение производится одним XML-файлом в год.

1)

  • Безусловно, стоит поделиться метриками тенденций с командой через SCM.

  • Безусловно, стоит также поделиться исходными данными для результатов анализа различий через SCM. Обычно базовый уровень для diff представляет собой последний выпуск моментального снимка производственного кода.

  • Безусловно, стоит поделиться самым последним отчетом, созданным в процессе сборки (не обязательно через SCM, он должен быть доступен через URL).

  • Что касается всех промежуточных результатов анализа, то это ваше дело, но если они не используются в качестве основы для diff, возможно, они будут бесполезны.


NЗависит от исторических пользовательских настроек папки

Параметры пользовательской папки NDepend Trend Metrics

person Patrick from NDepend team    schedule 13.06.2015
comment
Большое спасибо, Патрик, за информативный ответ. Это будет сопровождать планирование нашей установки - person MickyD; 13.06.2015