代码流失计算器(不适用于版本控制系统)

时间:2012-05-23 08:03:30

标签: compare code-metrics

鉴于两个项目版本,我想计算代码流失度量。

实施例

  

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


  

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

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

3 个答案:

答案 0 :(得分:2)

您可能考虑的其中一个工具是WebDiff

答案 1 :(得分: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(),
}

enter image description here

答案 2 :(得分:0)

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