2

给定两个项目版本,我想计算代码流失指标。

例子:

输入:两个文件夹,包含项目两个版本的 C 和 Header 文件


输出:每个文件中添加/更改/删除的行数列表

我尝试了一些工具,即BeyondCompareWinMerge。问题是,第一个要求所有文件都在同一个目录中,否则你只能比较它们而没有指标,第二个主要是一个可视化工具,也没有给我指标。

4

3 回答 3

2

您可能会考虑的工具之一是WebDiff

于 2012-05-24T06:17:33.210 回答
1

对于 .NET 代码,此类任务可以通过 NDepend Code Query LINQ (CQLinq)查询来完成,例如(注意如何选择代码指标):

from t in JustMyCode.Types
where t.IsPresentInBothBuilds() &&
      t.CodeWasChanged() // Only match types where code has been changed 
                         // between the two versions
let tOld = t.OlderVersion()
select new { t,
  newLoc = t.NbLinesOfCode,
  oldLoc = tOld.NbLinesOfCode,
  newNbMethods =t.Methods.Count(),
  oldNbMethods =t.Methods.Count(),
  newNbFields =t.Fields.Count(),
  oldNbFields =t.Fields.Count(),
}

在此处输入图像描述

于 2012-05-24T07:39:34.980 回答
0

您的版本是否存储在版本控制系统(例如,SVN、Git)中?如果是,那么您可以通过查看版本控制系统日志(已经给出添加/更改/删除的行)来计算您的流失指标,即使这两个版本不是连续提交。

于 2012-06-06T06:58:59.287 回答