编程其它

关注公众号 jb51net

关闭
diffcount 代码行差异统计工具 V1.0.06P3 绿色版

diffcount 代码行差异统计工具 V1.0.06P3 绿色版

热门排行

简介

diffcount代码行差异统计工具,用于比较两个代码包的新增,修改,删除的代码量.资源挺好的,统计出来的结果和我自己统计的有些差异。可以统计的文件类型有些少,而且偏后端语言。另外,在windows下使用的时候,直接敲命令行即可。

功能:

1. 差异统计:统计某一个版本的代码包相对于一个原始的基线代码包,变动的代码量,以及变动的代码量中各语言非空非注释行(NBNC)的结果;
2.代码统计:如果需要,可以把diffcount当作普通的代码行统计工具,统计一个代码包;

diffcount命令行方式的编译是直接通过Makefile进行的,目前提供Linux,Cygwin,Windows(MinGW)三种环境下的编译脚本,其他环境中,如果需要编译和使用,请通过修改Makefile文件进行。

diffcount 的可执行程序名为 diffcount.exe

想查询参数信息,请使用 diffcount --help 查询帮助

diffcount --cn-help 可以查询中文帮助, 也可以查看doc下的"命令行参数说明.txt"

diffcount的参数说明:

使用方法: diffcount [OPTION]... (Baseline) Target 

功能:对两个代码包进行差异统计、或者对一个代码包进行代码行统计

     packages 是差异统计的两个对象,也可以是仅作统计的一个对象

参数说明:

  -c --count-only  FILE/DIR

      仅仅对一个文件或者目录完成统计代码行的功能,没有比较对象

      这样Packages参数的数量只能有一个(文件或目录)

   --ignore-case  (DIFF USE ONLY)

在比较的时候,忽略文件名的大小写差异(缺省情况会作为两个完全不同的文件)

仅在“差异统计”时有效

Tips: 一些产品的代码,存在不同的版本的目录和文件的大小写不一样的情况

    可能是copy或者传送过程中造成的,对于这种情况,请使用该开关。

  --print-lines-info  (DEBUG USE OLY)

输出每个文件差异比较后的差异结果和初步统计信息(逐行),主要用于分析错误

注意不要针对大型代码包使用,否则逐行打印时间消耗惊人

  --print-files-info

使用这个开关,当每个文件差异比较和统计以后,输出该文件差异统计的结果信息

缺省不打印每个文件的信息,只打印最后的结果

Tips: 上边两个开关都需要打印控制台,如果文件较多的话,打印的时间会很长

     因此除非有具体分析需要,否则尽量不要打开

  --force-parse-all (DIFF USE ONLY)

  强制对所有文件进行分析处理(即使它们是完全相同的),缺省对完全相同的文件略过

  仅在“差异统计”时有效,代码行统计(count-only)时所有文件都要处理

 

  --for-program-reading

        改变输出方式,以格式化文本形式输出,便于其他程序读取结果信息

        在由第三方程序调用diffcount,并需要读取统计结果的时候使用

        该选项会屏蔽 --print-lines-info 选项

  -v  --version  

输出当前的版本信息

  --help

  输出帮助信息

 

 

备注:

    在进行差异统计的时候,统计的对象是代码包(目录),其中第一个目录是代码的基线,

    第二个目录是被统计的对象,所以新增、修改、删除,都是站在第二个目录,被统计对

    象的角度来说的。

使用方法:

1.差异统计

统计某一个版本的代码包相对于一个原始的基线代码包,变动的代码量

以及变动的代码量中各语言非空非注释行(NBNC)的结果

 

  diffcount 缺省执行的就是差异统计,直接跟上两个代码包的目录即可

  在diffcount目录下执行:

     diffcount test\sp1 test\sp2

  实际使用中,可能会有文件名和目录名大小写不一致的情况,如果希望忽略

  文件名大小写的差异,需要使用 --ignore-case 参数,否则两个一样的文件

  一个会算作删除,一个会算作新增

G:\diffcount>diffcount test\sp1 test\sp2

 

Diffcount [test\sp1] and [test\sp2] result:

 

LANG    ADD     MOD     DEL     A&M     BLK     CMT     NBNC    RATE

-----------------------------------------------------------------------

C       44      7       26      51      8       11      35      1.00

Pascal  0       0       25      0       0       0       0       0.23

Java    7       4       11      11      0       3       9       0.41

Config  31      4       0       35      1       0       34      0.12

XML     126     0       0       126     2       0       124     0.12

-----------------------------------------------------------------------

  Convert all NBNC lines to standard C

      Total: 57.65  (standard C lines)

 

ADD MOD DEL A&M BLK CMT NBNC RATE 的 含义分别为:

新增、修改、删除、新增+修改、空行、注释、非空非注释行、标准C折算率

2、代码统计:

如果需要,可以把diffcount当作普通的代码行统计工具,统计一个代码包

代码统计使用 -c (或者--count-only)参数, 在diffcount目录下执行

 

diffcount -c  test\count

 

执行结果如下:

 

G:\diffcount>diffcount -c test\count

 

Counting package [test\count] result:

 

LANG    TOTAL   BLK     CMT     NBNC    RATE

-----------------------------------------------------------------------

C       203     46      61      101     1.00

C++     57      7       25      25      0.42

Pascal  117     24      17      79      0.23

Java    71      7       24      40      0.41

ASM     129     34      12      85      2.50

C#      18      1       1       17      0.20

Basic   447     140     20      295     0.21

Perl    97      4       26      74      0.16

TCL/TK  91      12      26      54      0.50

Config  116     13      0       103     0.12

XML     126     2       0       124     0.12

-----------------------------------------------------------------------

  Convert all NBNC lines to standard C

      Total: 490.00  (standard C lines)

如果想显示每一个文件的具体信息,请使用 --print-files-info 参数

大家还下载了