关于注释的注释:代码评审与文档的交汇
软件工程
2022-04-04 v1
摘要
代码评审的一个核心功能是增进理解;帮助评审者理解代码变更有助于知识转移与发现缺陷。代码中的注释在很大程度上服务于类似目的,帮助未来的读者理解程序。因此,研究当这两种理解形式相撞时会发生什么是自然的。我们提问:评审者提出了哪些与文档相关的注释,它们如何影响对贡献的理解?我们分析了约70万条针对2000个(Java与Python)GitHub项目的评审注释,并提出若干过滤器以识别哪些注释可能既是对文档变更的响应和/或要求此类变更。我们识别出6.5万 such 案例。接下来我们针对此类“关于注释的注释”背后的评审者意图开发了分类法。我们发现达成对代码的共同理解是关键:评审者注释最常聚焦于澄清,其次是指出需修复的问题,例如错别字与过时注释。有趣的是,澄清性注释频繁由评审者建议(常为逐字建议),表明其希望持久化在代码评审中获得的理解。我们以探讨该“注释上的注释”数据集对改进代码评审研究的影响作结,包括自动化代码评审的潜在益处。
引用
@article{arxiv.2204.00107,
title = {Comments on Comments: Where Code Review and Documentation Meet},
author = {Nikitha Rao and Jason Tsay and Martin Hirzel and Vincent J. Hellendoorn},
journal= {arXiv preprint arXiv:2204.00107},
year = {2022}
}