diffcount代碼行差異統(tǒng)計工具,主要用于比較兩個代碼包的新增,修改,刪除的代碼量。不過統(tǒng)計出來的結(jié)果和自己統(tǒng)計的有些差異,可以統(tǒng)計的文件類型有些少,而且偏后端語言。另外,在windows下使用的時候,直接敲命令行即可。
功能說明
1、差異統(tǒng)計:統(tǒng)計某一個版本的代碼包相對于一個原始的基線代碼包,變動的代碼量,以及變動的代碼量中各語言非空非注釋行(NBNC)的結(jié)果;
2、代碼統(tǒng)計:如果需要,可以把diffcount當(dāng)作普通的代碼行統(tǒng)計工具,統(tǒng)計一個代碼包;
diffcount命令行方式的編譯是直接通過Makefile進行的,目前提供Linux,Cygwin,Windows(MinGW)三種環(huán)境下的編譯腳本,其他環(huán)境中,如果需要編譯和使用,請通過修改Makefile文件進行。
diffcount參數(shù)說明
使用方法: diffcount [OPTION]... (Baseline) Target
功能:對兩個代碼包進行差異統(tǒng)計、或者對一個代碼包進行代碼行統(tǒng)計
packages 是差異統(tǒng)計的兩個對象,也可以是僅作統(tǒng)計的一個對象
參數(shù)說明:
-c --count-only FILE/DIR
僅僅對一個文件或者目錄完成統(tǒng)計代碼行的功能,沒有比較對象。這樣Packages參數(shù)的數(shù)量只能有一個(文件或目錄)
--ignore-case (DIFF USE ONLY)
在比較的時候,忽略文件名的大小寫差異(缺省情況會作為兩個完全不同的文件),僅在“差異統(tǒng)計”時有效
注意:一些產(chǎn)品的代碼,存在不同的版本的目錄和文件的大小寫不一樣的情況,可能是copy或者傳送過程中造成的,對于這種情況,請使用該開關(guān)。
--print-lines-info (DEBUG USE OLY)
輸出每個文件差異比較后的差異結(jié)果和初步統(tǒng)計信息(逐行),主要用于分析錯誤。
注意:不要針對大型代碼包使用,否則逐行打印時間消耗驚人。
--print-files-info
使用這個開關(guān),當(dāng)每個文件差異比較和統(tǒng)計以后,輸出該文件差異統(tǒng)計的結(jié)果信息。
缺省不打印每個文件的信息,只打印最后的結(jié)果。
注意:上邊兩個開關(guān)都需要打印控制臺,如果文件較多的話,打印的時間會很長,因此除非有具體分析需要,否則盡量不要打開。
--force-parse-all (DIFF USE ONLY)
強制對所有文件進行分析處理(即使它們是完全相同的),缺省對完全相同的文件略過。
僅在“差異統(tǒng)計”時有效,代碼行統(tǒng)計(count-only)時所有文件都要處理。
--for-program-reading
改變輸出方式,以格式化文本形式輸出,便于其他程序讀取結(jié)果信息
在由第三方程序調(diào)用diffcount,并需要讀取統(tǒng)計結(jié)果的時候使用
該選項會屏蔽 --print-lines-info 選項
-v --version
輸出當(dāng)前的版本信息
--help
輸出幫助信息
備注:
在進行差異統(tǒng)計的時候,統(tǒng)計的對象是代碼包(目錄),其中第一個目錄是代碼的基線,第二個目錄是被統(tǒng)計的對象,所以新增、修改、刪除,都是站在第二個目錄,被統(tǒng)計對象的角度來說的。
- PC官方版
- 安卓官方手機版
- IOS官方手機版