10 個有關程式碼審查和程式碼質量的事實

發表於2016-12-23

這是一篇關於程式碼質量和程式碼評審重要事實的簡短文章。問及了 680 家公司的程式碼質量和程式碼審查實踐。

10 個有關程式碼審查和程式碼質量的事實

蘇聯檢查員在檢查一顆 BGM-109G “戰斧”地面發射巡航導彈。

事實一:

我們花了大量的時間審查程式碼。但事實上,我們每週平均花費 5 個小時來審查程式碼,或者本週 12.5% 的時間來檢視程式碼。

事實二:

作為開發人員,每週花費超過一天的時間來審查程式碼與提高程式碼質量不相關,會用更多時間釋出新功能(而不是修復 bug 或償還技術債務)。

10 個有關程式碼審查和程式碼質量的事實

每週花費在程式碼審查上的時間(收益遞減:每週花費超過一天的時間審查程式碼與更好的程式碼質量不相關)

事實三:

45% 的開發人員說,“缺少時間”是審查程式碼的真正障礙,而 34% 的開發人員則認為是迫於“釋出新功能的壓力”

事實四:

72% 的開發人員表示他們的程式碼審查被阻止(沒有經過稽核不釋出一行程式碼)

事實五:

66% 的開發人員需要 1 人批准他們的 pull requests,25% 需要 2 人,小於 5% 需要超過 2 人。

事實六:

53% 的人監控程式碼覆蓋率,但 65% 沒有程式碼覆蓋率的最小閾值,用於批准 pull requests 

事實七:

29% 的開發人員說他們的專案中最大的問題是“工作量”,而 Eng 和 Director 的副總裁認為是“交付速度”。開發人員的第三大問題是“管理”。

事實八:

關於誰來審查程式碼,讓團隊中的每個人都參與是最常見的做法。其他替代方法是專案負責人或模組的擁有者來參與,或讓更高階的開發人員審查大多數程式碼。

10 個有關程式碼審查和程式碼質量的事實

誰來審查程式碼?三分之二的公司傾向於所有開發者都能參與程式碼審查

事實九:

更嚴格的程式碼審查會讓我們用更少的時間修復錯誤,也就有更多的時間來提供新功能。不太嚴格的程式碼審查者會花費 31% 的時間修復錯誤,而嚴格的審查者則只花費 24% 的時間。關於關注新功能的時間:和上面對應的分別是 43% 和 54%。

事實十:

開發人員花費 45% 的時間修復錯誤或解決技術問題,與構建新功能所花費的時間不相上下。

10 個有關程式碼審查和程式碼質量的事實

開發期間每個環節平均花費的時間

編者注:文章提到的資料和情況都是國外的環境,不知國內的又是如何?

相關文章