本篇文章记录一下,针对软件开发公司bug数量的一些思考,到底团队开发中怎样一个bug数量算是正常情况,以下是我收集到信息.
bug率标准
CMMI级别中做出了相关的指标规定,千行代码缺陷率(bug率):
CMM1级 11.95‰
CMM2级 5.52‰
CMM3级 2.39‰
CMM4级 0.92‰
CMM5级 0.32‰
可以通过git log统计代码数量
git log的方式,依赖于提交记录,统计全量,统计个人,按时间段统计都能做,但有一些问题 :
经测试不能完全反应整体的记录,只是单纯的统计数量增加,空白行不能省略
在加上时间段统计后,调整时间,部分不准确git log的方式,依赖于提交记录,统计全量,统计个人,按时间段统计都能做,但有一些问题 :
经测试不能完全反应整体的记录,只是单纯的统计数量增加,空白行不能省略
在加上时间段统计后,调整时间,部分不准确
统计总量
git log --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 --pretty=tformat: --since ==2021-4-1 --until=2022-01-31 --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 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --since ==2021-4-1 --until=2022-01-31 --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
统计个人:按提交人和指定文件后缀 (.html|.cs|.md|.xml|.properties)
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.cs\|.md\|.xml\|.properties\)$" | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
统计个人按时间
git log --since=2021-11-28 --until=2022-11-28 --author="name" --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 }