如何衡量代码库中的总变化(Eclipse和Mercurial)

时间:2011-05-05 08:48:18

标签: java eclipse mercurial metrics

我们需要能够计算大型Java代码库的两个版本(V1和V2)之间的代码行总变化。使用Eclipse或Mercurial的工具将是理想的。

计算V1和V2中的代码行数是不够的,因为某些代码段将被删除并在版本之间重写。

我们真正需要的是计算类似的东西:

  • I = V1和V2的交点
  • D =从I到V2的差异

然后我们可以计算诸如百分比变化= D / V2

之类的东西

有关可以执行此操作的工具的任何建议吗?

3 个答案:

答案 0 :(得分:3)

hg log --stat将显示每次提交的各种统计信息,包括插入/删除的行。

我不知道是否有更好的解决方案,但您可以解析这些结果以达到您想要的效果。

您还可以查看以前关于SO的答案:Counting changed lines of code over time

答案 1 :(得分:1)

在尝试了一些基于Hg的方法后,我发现最好的解决方案是使用CLOC(Count Code of Code):http://cloc.sourceforge.net/

您可以为它提供两个包含两个版本项目的文件夹,它将统计所有相同,修改,添加,删除的行。这正是我所需要的。

答案 2 :(得分:0)

是的,ProjectCodeMeter可以为您提供两个版本的源代码之间的差异性sloc,但更好的是,它还可以为您提供开发时间的差异(这是我想您真正想要的目标)。