代码千行bug率统计
最近测试项目bug比较多,领导要求做一个代码千行bug率统计,目前没想到好的自动化方法,只想到了在编译机器上用linux命令获取研发的代码行数进行统计:
java项目一般是编译,打包,将打包文件扔到具体服务器上,程序运行起来。
1.连文件的空行都进行统计的linux命令:
find . -name '*.java'|xargs wc -l|grep 'total'|awk '{print $1}'
find . -name '*.java'|xargs cat|wc -l
2.去掉空行
find . -name '*.java'|xargs cat|grep -v ^$|wc -l
3.去掉空行和注释
find . -name '*.java'|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$|wc-l
4.去掉空行和//注释, //注释和
- /**
- * @author xxx 2012-6-15 下午3:19:47
- */ 注释的行
find . -name '*.java'|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$ -e ^\s*\/\*\*.*$ -e ^\s*\*.*$ -e ^\s*\*\/.*$|wc -l (有误)
find . -name '*.java'|xargs cat|grep -v -e ^$ -e ^\s*\/\/.*$ -e ^\s*\/\*\*.*\*\/.*$|wc -l
//^\s*以空格开头任意多个,\/\/是//的转义字符,\*是*的转义字符,\*\/是*/的转义字符, .*$任意字符数字等任意个为结尾,wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据,wc -l显示行数。
项目计算结果:
一期bug:120;
Test-crm-inventory:86310行
Test-crm-ui-web:38316行
代码千行bug率计算:120/(86310+38316)*1000/1000=8.33‰(实际bug率要高于此,这两个项目原先已经存在,只是添加了一部分新代码,实际除的是整个代码量)
关于千行代码BUG率的统计意义:https://blog.csdn.net/tengyeyijiu/article/details/50592501(5级标准)