并非所有情况都如此:从 GitHub 中挖掘有意义的代码审查顺序
软件工程
2025-10-07 v1
摘要
开发者会使用诸如 GitHub 拉取请求之类的工具来审查代码、讨论提议的变更并请求修改。虽然常常以字母顺序呈现更改的文件,但这并不必然与审阅者偏好的浏览序列相吻合。本研究调查了开发者在对拉取请求中提交的变更进行评论时所遵循的不同浏览顺序。我们从 GitHub 上 100 个流行的 Java 和 Python 仓库中的 23,241 个拉取请求中挖掘代码审查评论,以分析审阅者对所提交变更进行评论的顺序。我们的分析表明,在 44.6% 的拉取请求中,审阅者是以非字母顺序进行评论。在这些拉取请求中,我们识别出了各种替代性有意义的顺序:20.6%(2,134 个)遵循“最大差异优先”顺序,17.6%(1,827 个)按文件与拉取请求标题和描述的相似度顺序进行评论,29%(1,188 个)包含生产文件和测试文件变更的拉取请求遵循“测试优先”顺序。我们还观察到,在非字母顺序审查中,被审查文件数与总文件数的比例显著高于字母顺序审查,平均获得的批准次数也略低。我们的发现凸显了在代码审查中特别需要对大型拉取请求提供额外支持,因为在这种情况下,审阅者更可能采用复杂策略而非遵循单一的预定义顺序。
引用
@article{arxiv.2506.10654,
title = {Not One to Rule Them All: Mining Meaningful Code Review Orders From GitHub},
author = {Abir Bouraffa and Carolin Brandt and Andy Zaidmann and Walid Maalej},
journal= {arXiv preprint arXiv:2506.10654},
year = {2025}
}