假设原始文件存放在目录old中,文件改动后存放在目录new中。
若要统计改动过程中新增的和修改的总行数,使用如下代码
diff -Nur old new|egrep "^\+"|grep -v "+++"|wc -l
若要统计改动过程中删除的和修改的总行数,使用如下代码
diff -Nur old new|egrep "^\-"|grep -v "---"|wc -l
以上统计主要是利用了diff输出的特性,diff的具体细节请参考读懂diff
实际使用中,可能会有文件名和目录名大小写不一致的情况,如果希望忽略
文件名大小写的差异,需要使用 --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折算率
如果需要,可以把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
一款基于beyondCompare的代码差异行数统计工具
原理是,使用命令行调用beyond生成差异行报告,分析汇总扫描报告
也可以进行代码行数统计,如果遇到报错,关闭报错窗口,会自动重新计算。
当BaseDirPath为空时,可以用来统计代码行数
注意事项:
需要excel,和beyondCompare (均需要激活)
完成后会生成excel文件,
Git地址:
https://codehub.devcloud.cn-north-4.huaweicloud.com/tool00003/beyondComp
使用beyond compare可对比两个版本的代码之间的差异,一般可用来查看新版本与旧版本之间改动了那些文件(当然不仅仅是代码比对,还可以用于任意两个文件夹之间的比对),下面记录下使用此工具的操作:
1、只保留需要对比的文件:在我们代码比对的时候,很多时候只需要比对java文件(或者class文件)、xml、配置文件等常见的改动,很多文件比如静态资源等基本上是不需要比对的,所以这时可以选择过滤一些文件,点击过滤的图标,在弹出框把一些不需要比对的文件过滤掉
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折算率
如果需要,可以把diffcount当作普通的代码行统计工具,统计一个代码包
代码统计使用 -c (或者--count-only)参数, 在diffcount目录下执行
执行结果如下:
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 参数
Beyond Compare是一款经典的文件对比工具,面对纷繁复杂的程序源文件和文件夹,Beyond Compare可能有效地提高程序员的工作效率,软件支持源代码文件的对比、修改、合并,代码目录对比以及代码更新定位,是一款IT程序工程师的必备源码管理工具。
1、双击电脑桌面“Beyond Compare”快捷方式图标,打开软件主页面。
Beyond Compare主界面
2、在主页面左侧...
diffcount
使用beyond compare比较前后两个工程中,修改的代码量,只可以查看两个文件差异的节数。
使用diffcount,可以直接统计前后两个工程中,增加、删除、修改的代码行数。
http://sourceforge.net/projects/diffcount/?source=directory
http://diffcount.sourceforge.n
LANG ADD MOD DEL A&M BLK CMT NBNC RATE
-----------------------------------------...
Beyond Compare是智能的比较工具,它只需使用简单的命令和操作,即可开启最优质的对比体验,在使用Beyond Compare对比smali代码过程中,会发现很多代码文件的差异几乎全部标红,很多只是行号的差异。遇到这样的情况,该怎么做呢?接下来就讲解一下,在Beyond Compare...