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 参数





















大小: 8KB

大小: 304.3M
终端仿真器 SecureCRTv7.1.1.264 最新版
串口调试小助手1.3 免费版
WinHex 十六进制编辑器v20.2 SR-5 绿色中文注册版
小旋风ASP服务器安装版
16进制转换工具V1.0 中文绿色版
Adobe AIRV33.1.1.932 官方最新版
github离线安装包64位版V2.9.11官方最新版(github desktop)
MSDN Library Visual Studio 6.0(VC、VB、VF、VJ)中文版win32开发人员必备
版本控制软件(SourceTree)v3.4.6 官方最新版
Memory Analyzer (MAT)V1.01 免费绿色版
Delphi Distillerv1.85绿色版
IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)V4.3.3 绿色版
.NETv3.0 可再发行组件包
一键安装JSP环境安装版
slave4j(基于eclipse插件的java代码生成器)V1.0.0 正式版
Auto DebugProfessional 5.6.5.18 中文绿色版
Understand For C++V1.4.319英文安装版