diffcount代码行差异统计工具,主要用于比较两个代码包的新增,修改,删除的代码量。不过统计出来的结果和自己统计的有些差异,可以统计的文件类型有些少,而且偏后端语言。另外,在windows下使用的时候,直接敲命令行即可。
功能说明
1、差异统计:统计某一个版本的代码包相对于一个原始的基线代码包,变动的代码量,以及变动的代码量中各语言非空非注释行(NBNC)的结果;
2、代码统计:如果需要,可以把diffcount当作普通的代码行统计工具,统计一个代码包;
diffcount命令行方式的编译是直接通过Makefile进行的,目前提供Linux,Cygwin,Windows(MinGW)三种环境下的编译脚本,其他环境中,如果需要编译和使用,请通过修改Makefile文件进行。
diffcount参数说明
使用方法: diffcount [OPTION]... (Baseline) Target
功能:对两个代码包进行差异统计、或者对一个代码包进行代码行统计
packages 是差异统计的两个对象,也可以是仅作统计的一个对象
参数说明:
-c --count-only FILE/DIR
仅仅对一个文件或者目录完成统计代码行的功能,没有比较对象。这样Packages参数的数量只能有一个(文件或目录)
--ignore-case (DIFF USE ONLY)
在比较的时候,忽略文件名的大小写差异(缺省情况会作为两个完全不同的文件),仅在“差异统计”时有效
注意:一些产品的代码,存在不同的版本的目录和文件的大小写不一样的情况,可能是copy或者传送过程中造成的,对于这种情况,请使用该开关。
--print-lines-info (DEBUG USE OLY)
输出每个文件差异比较后的差异结果和初步统计信息(逐行),主要用于分析错误。
注意:不要针对大型代码包使用,否则逐行打印时间消耗惊人。
--print-files-info
使用这个开关,当每个文件差异比较和统计以后,输出该文件差异统计的结果信息。
缺省不打印每个文件的信息,只打印最后的结果。
注意:上边两个开关都需要打印控制台,如果文件较多的话,打印的时间会很长,因此除非有具体分析需要,否则尽量不要打开。
--force-parse-all (DIFF USE ONLY)
强制对所有文件进行分析处理(即使它们是完全相同的),缺省对完全相同的文件略过。
仅在“差异统计”时有效,代码行统计(count-only)时所有文件都要处理。
--for-program-reading
改变输出方式,以格式化文本形式输出,便于其他程序读取结果信息
在由第三方程序调用diffcount,并需要读取统计结果的时候使用
该选项会屏蔽 --print-lines-info 选项
-v --version
输出当前的版本信息
--help
输出帮助信息
备注:
在进行差异统计的时候,统计的对象是代码包(目录),其中第一个目录是代码的基线,第二个目录是被统计的对象,所以新增、修改、删除,都是站在第二个目录,被统计对象的角度来说的。
- PC官方版
- 安卓官方手机版
- IOS官方手机版