这是一篇关于代码质量和代码评审重要事实的简短**。问及了 680 家公司的代码质量和代码审查实践,下面是一些总结。
苏联检查员在审查一架 BGM-109G “战斧”地面发射巡航导弹。 事实一:我们花了大量的时间审查代码。但事实上,我们每周平均花费 5 个小时来审查代码,或者本周 12.5% 的时间来查看代码。 事实二:作为开发人员,每周花费超过一天的时间来审查代码与提高代码质量不相关,会用更多时间发布新功能(而不是修复 bug 或偿还技术债务)。 每周花费在代码审查上的时间(收益递减:每周花费超过一天的时间审查代码与更好的代码质量不相关) 事实三:45% 的开发人员说,“缺少时间”是审查代码的真正障碍,而 34% 的开发人员则认为是迫于“发布新功能的压力” 事实四:72% 的开发人员表示他们的代码审查被阻止(没有经过审核不发布一行代码) 事实五:66% 的开发人员需要 1 人批准他们的 pull requests,25% 需要 2 人,小于 5% 需要超过 2 人。 事实六:53% 的人监控代码覆盖率,但 65% 没有代码覆盖率的最小阈值,用于批准 pull requests 事实七:29% 的开发人员说他们的项目中最大的问题是“工作量”,而 Eng 和 Director 的副总裁认为是“交付速度”。开发人员的第三大问题是“管理”。 事实八:关于谁来审查代码,让团队中的每个人都参与是最常见的做法。其他替代方法是项目负责人或模块的拥有者来参与,或让更高级的开发人员审查大多数代码。 谁来审查代码?三分之二的公司倾向于所有开发者都能参与代码审查 事实九:更严格的代码审查会让我们用更少的时间修复错误,也就有更多的时间来提供新功能。不太严格的代码审查者会花费 31% 的时间修复错误,而严格的审查者则只花费 24% 的时间。关于关注新功能的时间:和上面对应的分别是 43% 和 54%。 事实十:开发人员花费 45% 的时间修复错误或解决技术问题,与构建新功能所花费的时间不相上下。
|