是否应将nDepend的输出文件夹添加到源代码管理中?

时间:2015-06-12 04:22:29

标签: visual-studio code-analysis ndepend

背景

我是nDepend的新手,希望在Subversion中与多个开发人员一起维护的项目中使用它。

我非常热衷于保留历史性的nDepend分析结果,并注意到默认情况下nDepend通过将此类结果放在$(NdProjectOutputDir)定义的文件夹中来做得很好 - 通常是一个名为 NDependOut 的子文件夹紧靠。 ndproj 文件所在的位置。

enter image description here

但这意味着生成的nDepend XML和二进制文件与我的源代码一起定位。

enter image description here

我已经通过nDepend阅读了以下文章:

...甚至尝试了Google搜索 "ndepend ndependout source control" ,在撰写本文时,后者对我的问题并不是特别有用。

问题

  1. NDependOut 应该添加到SCM吗?它们基本上是输出工件,因为源代码的结果与编译项目的方式相同,不应该添加。但我不确定哲学是否适用
  2. 如果为了其他用户的利益将 NDependOut 文件夹添加到源代码管理中,我是否存在冲突风险?
  3. 我们是否应该指定一个人(或者可能是一台构建机器)成为此类报告的唯一发布者?
  4. 我注意到在根 NDependOut 文件夹中有两个文件:

    • NDependAnalysisResult_VIP_2015Jun11_18h33.ndar - 二进制
    • InfoWarnings.xml - 文字显然是

1 个答案:

答案 0 :(得分:4)

正如您所注意到的,您可以自由决定。当你写道:

但这意味着生成的NDepend XML和二进制文件与我的源代码一起定位。

...也许这意味着您还没有看到定制两者的可能性......

  • 历史分析结果+报告存储根文件夹,

  • 和趋势指标存储根文件夹

...来自 NDepend项目属性>分析,请参见下面的截图。

以相反顺序回答您的问题:

3)我要说的是,如果您选择将这些数据存储在您的SCM中,应该在构建过程成功后由您的构建过程自动完成 + NDepend分析

2)历史分析结果+报告不存在冲突风险,因为它们存储在以构建日期/时间命名的文件夹层次结构中。关于趋势度量标准是存在冲突的风险,因为存储是由每年一个XML文件生成的。

1)

  • 当然值得通过SCM与团队分享趋势指标。

  • 当然,通过SCM分享差异分析结果的基线也是值得的。通常,diff的基线表示生产代码快照中的最后一个版本。

  • 当然值得分享构建过程中生成的最新报告(不一定通过SCM,它应该通过url提供)。

  • 关于所有中间分析结果,由您决定,但如果它们不用作差异的基线,可能它们将无用。

NDepend Historic Custom Folder Settings

NDepend Trend Metrics Custom Folder Settings