在 Copilot 的协助下编程白皮书——2023 年的数据显示了代码质量面临的挑战 [译]

在 Copilot 的协助下编程白皮书——2023 年的数据显示了代码质量面临的挑战 [译]

💡 原文中文,约11800字,阅读约需28分钟。
📝

内容提要

GitClear分析了1.5亿行代码变更记录,发现2024年代码变更率将是2021年的两倍,初级开发者更倾向于接受代码建议,但AI助手可能阻碍了代码复用。代码变动率的增加可能导致错误代码被部署到生产环境。GitClear提供解决方案来评估代码操作和技术债务。

🔎

延伸解读

代码变动率飙升的警示

GitClear 分析显示,代码变动率(编写后两周内被修改或撤销的比例)从 2021 年的 3.6% 预计升至 2024 年的 7.1%,翻了一倍。这一趋势与 AI 编程助手 Copilot 的普及高度相关(皮尔森相关系数 0.98)。高变动率意味着更多错误代码可能被部署到生产环境,增加维护成本。管理者应关注这一指标,及时评估团队代码质量。

AI 助手如何影响代码复用

数据显示,2023 年“移动代码”操作同比下降 17.3%,而“复制/粘贴代码”上升 11.3%。这表明 AI 助手倾向于建议新增或复制代码,而非重构和复用现有代码。长期来看,这会破坏 DRY 原则,增加技术债务。团队需警惕这种趋势,鼓励开发者花时间整合重复代码,而非盲目接受 AI 建议。

初级开发者更依赖 AI 的风险

GitHub 研究指出,初级开发者使用 Copilot 的频率比资深开发者高约 20%。由于经验不足,他们可能更易接受 AI 的代码建议,导致代码库中充斥未经验证的片段。资深开发者更了解维护成本,因此更谨慎。团队应建立代码审查机制,帮助初级开发者识别可复用代码,避免技术债务累积。

代码年龄缩短与重构减少

GitClear 的代码溯源分析发现,2023 年不到两周就被修改的代码比例增加了 10%,而超过一个月的代码更新频率下降了 24%。这说明开发者更倾向于快速修改新代码,而非重构旧代码。AI 助手可能加剧了这一趋势,导致代码库稳定性下降。管理者应设定激励措施,鼓励定期重构和代码清理。

❓

Q&A

GitClear 的研究发现了哪些关于代码质量的主要趋势?

GitClear 分析了 1.53 亿行代码变更,发现代码变动率(churn)预计在 2024 年将是 2021 年的两倍;新增和复制/粘贴代码的比例上升,而移动代码的比例下降,表明代码复用和重构减少。

为什么初级开发者比经验丰富的开发者更倾向于使用 AI 代码建议?

根据 GitHub 的研究,初级开发者使用 Copilot 的频率比经验丰富的开发者高出约 20%。经验丰富的开发者更了解维护代码的长期成本,因此对 AI 建议持更谨慎态度。

代码变动率(churn)的增加会带来什么风险?

代码变动率增加意味着更多代码在编写后两周内被修改或撤销,这可能导致错误代码被部署到生产环境,增加生产事故的风险。

AI 助手如何影响代码的复用和重构?

AI 助手倾向于建议新增和复制/粘贴代码,而较少建议移动或更新代码。这导致代码移动减少,重构和复用受阻,可能违反 DRY 原则,增加长期维护难度。

GitClear 提供了哪些解决方案来应对代码质量问题?

GitClear 提供报告来评估代码操作和技术债务,包括操作是否被系统认可、具体操作报告和操作来源报告。还提供浏览技术债务的工具,并在代码质量下降时通过电子邮件提醒。

开发者在使用 AI 编程工具时,对代码质量的关注有何变化?

根据 GitHub 与 Wakefield 的研究,开发者在使用 AI 时,对代码质量的关注显著上升,成为最关注的指标,而生产事件数量也成为第三大关注点。

🏷️

标签

➡️

继续阅读