一家公司重新思考Diff以缩短代码审查时间

一家公司重新思考Diff以缩短代码审查时间

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

Stack Overflow博客文章称diff是最古老且仍广泛使用的开发工具之一。一家开发者工具公司的案例研究表明,他们构建了一个更好的diff工具GitClear,通过新的显示方式减少了代码审查的工作量。该工具还提供了高级概览页面和测试覆盖率图表等功能,可以节省代码审查的时间和工作量。

🔎

延伸解读

代码审查中的“变化噪声”问题

文章指出,只有5%的代码更改是实质性的,其余为“变化噪声”,其中约30%的更改行只是代码被移动到新位置。这意味着开发者在审查时花费大量时间在非实质性变化上。GitClear通过新的显示方式,如不突出显示移动的代码,只显示新增的方法定义,来减少需要关注的行数,平均减少28%。这有助于团队更专注于真正重要的更改。

GitClear的实证效果与测试

Alloy公司招募了48名测试者进行实验,一半使用GitClear审查拉取请求。结果显示,使用GitClear的测试者对代码的理解程度相当,但审查时间平均减少23%,中位数减少36%。这表明减少审查行数并不牺牲理解,反而能节省时间。Harding估计,对于10人团队,这每周可节省数千美元的成本。

超越传统diff的附加功能

GitClear不仅改进了diff显示,还提供了高级概览页面,展示拉取请求的开放天数、测试覆盖率等,并可与仓库内其他文件、所有仓库甚至同行业公司比较。此外,“diff delta”功能评估每次提交的持久变更,追踪代码行的长期命运。还有“自上次审查以来未审查的提交”视图,帮助团队在多轮审查中快速识别新更改。

对开发团队士气的影响

Harding认为,代码审查常被视为开发工作中最不愉快、最耗意志力的任务之一。减少审查时间不仅能节省时间,还可能提升开发者士气,其带来的士气提升可能不亚于时间节省本身。文章也提到,市场上还有其他替代工具如Difftastic,以及至少10家公司提供Git分析工具,显示出对更好代码审查工具的广泛需求。

❓

Q&A

GitClear工具如何减少代码审查的工作量?

GitClear通过新的显示方式,减少了需要关注的代码行数,平均减少28%,帮助开发者更高效地识别代码变化。

为什么传统的diff工具在代码审查中存在问题?

传统的diff工具强调所有变化,包括30%的未实质性变化,导致开发者在审查时浪费时间。

GitClear有哪些额外的功能?

GitClear提供高级概览页面、测试覆盖率图表和未审查提交的视图,提升代码审查体验。

使用GitClear工具能为开发团队节省多少时间?

使用GitClear后,开发者在代码审查上平均节省23%到36%的时间。

Harding认为减少代码审查时间有什么好处?

Harding认为减少代码审查时间可以提高开发者的士气和工作效率,减轻开发者的负担。

市场上还有哪些替代的代码审查工具?

市场上还有其他替代工具,如Difftastic,显示出对更好代码审查工具的需求。

🏷️

标签

➡️

继续阅读