【发布时间】:2012-05-23 08:03:29
【问题描述】:
给定两个项目版本,我想计算代码流失指标。
示例:
输入:两个文件夹,包含两个版本的 C 和 Header 文件 项目
输出:每个文件中添加/更改/删除的行数列表
我尝试了一些工具,即BeyondCompare 和WinMerge。问题是,第一个要求所有文件都在同一个目录下,否则只能比较它们而没有指标,第二个主要是可视化工具,也没有给我指标。
【问题讨论】:
标签: compare code-metrics
给定两个项目版本,我想计算代码流失指标。
示例:
输入:两个文件夹,包含两个版本的 C 和 Header 文件 项目
输出:每个文件中添加/更改/删除的行数列表
我尝试了一些工具,即BeyondCompare 和WinMerge。问题是,第一个要求所有文件都在同一个目录下,否则只能比较它们而没有指标,第二个主要是可视化工具,也没有给我指标。
【问题讨论】:
标签: compare code-metrics
您可能会考虑的工具之一是WebDiff
【讨论】:
对于 .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(),
}
【讨论】:
您的版本是否存储在版本控制系统(例如 SVN、Git)中?如果是,那么您可以通过查看版本控制系统日志(已经给出添加/更改/删除的行)来计算您的流失指标,即使这两个版本不是连续提交。
【讨论】: