初级职业开发者对代码可理解性的认知:一项复杂度度量研究
软件工程
2024-07-16 v2
摘要
背景。代码可理解性至关重要。开发者需要清晰理解其所修改的代码。低可理解性会增加编码工作量,且对代码的误读会影响整个开发过程。理想情况下,开发者应以最小代价编写清晰易懂的代码。目的。我们的工作考察 McCabe 圈复杂度或认知复杂度能否作为开发者感知代码可理解性的良好预测因子,以了解这两种复杂度中哪一种可用作评估代码是否易懂的准则。方法。我们设计并在 216 名具有一至四年专业经验的初级职业开发者中开展了一项实证研究。我们要求他们手动检查并评级 12 个具有不同圈复杂度与认知复杂度水平的 Java 类的可理解性。结果。我们的发现表明,当考虑初级职业开发者感知的复杂度时,老式的 McCabe 圈复杂度与较新的认知复杂度虽是代码可理解性的温和预测因子,但对于问题严重度则不是。结论。基于我们的结果,初级职业开发者在执行代码审查任务时不应因其经验匮乏而独力承担。此外,低复杂度度量指示良好可理解性,但 CoC 或 CyC 任一偏高都会使可理解性变得不可预测。然而,没有证据表明 CyC 或 CoC 是初级职业者感知严重度的指标。未来研究将侧重于将人群扩展至资深开发者,以检验资历是否影响所选度量的预测能力。
引用
@article{arxiv.2303.07722,
title = {Early Career Developers' Perceptions of Code Understandability. A Study of Complexity Metrics},
author = {Matteo Esposito and Andrea Janes and Terhi Kilamo and Valentina Lenarduzzi},
journal= {arXiv preprint arXiv:2303.07722},
year = {2024}
}