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

Should nDepend's output folder be added to source control?

背景

我是 nDepend 的新手,希望将其用于将由 Subversion 中的多个开发人员维护的项目。

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

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

我已阅读 nDepend 的以下文章:

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

问题

  1. 是否应该将 NDependOut 添加到 SCM 中?它们让我印象深刻,因为源代码的结果本质上是输出工件,就像编译项目一样,不应该添加。但我不确定哲学是否适用
  2. 如果为了其他用户的利益将 NDependOut 文件夹添加到源代码管理中,我是否有 运行 冲突的风险?
  3. 我们是否应该指定一个人(或者一台构建机器)作为此类报告的唯一发布者?

我注意到根 NDependOut 文件夹中有两个文件:

如您所见,您可以自由决定。当您写道:

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

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

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

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

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


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

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

2) 不,历史分析结果 + 报告不存在冲突风险,因为它们存储在以构建 date/time 命名的文件夹层次结构中。关于趋势指标,是的,存在冲突风险,因为每年由一个 XML 文件进行存储。

1)

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

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

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

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