代碼行差異統(tǒng)計(jì)工具,用于比較兩個(gè)代碼包的新增,修改,刪除的代碼量. diffcount 的可執(zhí)行程序名為 diffcount.exe
本程序在sourceforge上面有相應(yīng)的開源項(xiàng)目。
想查詢參數(shù)信息,請(qǐng)使用 diffcount --help 查詢幫助
diffcount --cn-help 可以查詢中文幫助, 也可以查看doc下的"命令行參數(shù)說明.txt"
通過例子介紹使用方法如下:
1.差異統(tǒng)計(jì)
統(tǒng)計(jì)某一個(gè)版本的代碼包相對(duì)于一個(gè)原始的基線代碼包,變動(dòng)的代碼量
以及變動(dòng)的代碼量中各語(yǔ)言非空非注釋行(NBNC)的結(jié)果
diffcount 缺省執(zhí)行的就是差異統(tǒng)計(jì),直接跟上兩個(gè)代碼包的目錄即可
在diffcount目錄下執(zhí)行:
diffcount test\sp1 test\sp2
實(shí)際使用中,可能會(huì)有文件名和目錄名大小寫不一致的情況,如果希望忽略
文件名大小寫的差異,需要使用 --ignore-case 參數(shù),否則兩個(gè)一樣的文件
一個(gè)會(huì)算作刪除,一個(gè)會(huì)算作新增
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 的 含義分別為:
新增、修改、刪除、新增+修改、空行、注釋、非空非注釋行、標(biāo)準(zhǔn)C折算率
2.代碼統(tǒng)計(jì):
如果需要,可以把diffcount當(dāng)作普通的代碼行統(tǒng)計(jì)工具,統(tǒng)計(jì)一個(gè)代碼包
代碼統(tǒng)計(jì)使用 -c (或者--count-only)參數(shù), 在diffcount目錄下執(zhí)行
diffcount -c test\count
執(zhí)行結(jié)果如下:
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)
如果想顯示每一個(gè)文件的具體信息,請(qǐng)使用 --print-files-info 參數(shù)