【问题标题】:Code churn calculator (not for a version control system)代码流失计算器(不适用于版本控制系统)
【发布时间】:2012-05-23 08:03:29
【问题描述】:

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

示例:

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


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

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

【问题讨论】:

    标签: compare code-metrics


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      对于 .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(),
      }
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-28
          相关资源
          最近更新 更多