1、计算公式
千行代码bug率=bug数/(代码行数/1000)
2、bug率标准
CMMI级别中做出了相关的指标规定,千行代码缺陷率(bug率):
- CMM1级 11.95‰
- CMM2级 5.52‰
- CMM3级 2.39‰
- CMM4级 0.92‰
- CMM5级 0.32‰
3、统计方式
git log master..分支名 --no-merges --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'
git log --no-merges --since=2020-06-02 --until=2020-06-04 --author="zhangsan|lisi" --pretty=tformat: --numstat | awk '{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
说明:
git log 是获取所有提交的历史记录
--no-merges //是去除该提交中merges的代码,因为开发人员有可能会merge其他分支的代码,此时应该去除
--since= --until= //是要统计修改记录的开始和结束时间,一般统计某个迭代的修改,就是迭代开始时间和结束时间
--author //是指修改代码的人 过滤多人时使用“|”分开
--pretty= // 控制显示的记录格式
--numstat 对增加和删除的行数进行统计 第一列显示的是增加的行数 第二列显示的是删除的行数