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 對增加和刪除的行數進行統計 第一列顯示的是增加的行數 第二列顯示的是刪除的行數