给定两个项目版本,我想计算代码流失指标。
例子:
输入:两个文件夹,包含项目两个版本的 C 和 Header 文件
输出:每个文件中添加/更改/删除的行数列表
我尝试了一些工具,即BeyondCompare和WinMerge。问题是,第一个要求所有文件都在同一个目录中,否则你只能比较它们而没有指标,第二个主要是一个可视化工具,也没有给我指标。
给定两个项目版本,我想计算代码流失指标。
例子:
输入:两个文件夹,包含项目两个版本的 C 和 Header 文件
输出:每个文件中添加/更改/删除的行数列表
我尝试了一些工具,即BeyondCompare和WinMerge。问题是,第一个要求所有文件都在同一个目录中,否则你只能比较它们而没有指标,第二个主要是一个可视化工具,也没有给我指标。
您可能会考虑的工具之一是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)中?如果是,那么您可以通过查看版本控制系统日志(已经给出添加/更改/删除的行)来计算您的流失指标,即使这两个版本不是连续提交。