slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
新的报告指出人工智能正在侵蚀代码质量
17611538698
webmaster@21cto.com

新的报告指出人工智能正在侵蚀代码质量

人工智能 0 393 2025-02-28 02:38:15

图片

导读:GitClear 的最新研究基于对 2.11 亿行代码的分析,结果表明人工智能编码助手正在通过增加重复和复制/粘贴代码并减少重构来降低代码质量。

GitClear分析了其自身代码审查工具客户以及开源项目的代码,查看了代码更改(例如添加、删除、移动和更新)的指标。

研究人员发现,2024 年期间,重复行数为 5 行或以上的代码块数量增加了 8 倍。重复代码可能运行正常,但通常是代码质量差的标志,因为它会增加臃肿,表明缺乏清晰的结构,并且当同一代码在一个地方更新而在另一个地方不更新时,会增加出现缺陷的风险。

GitClear 补充说,与复制/粘贴相比,从许多不同地方调用的函数更“经过实战考验”。

研究人员还指出,移动代码行数减少了 39.9%。代码移动是重构的证据,重构是在不改变功能的情况下提高代码质量。根据 GitClear 的说法,“将以前的工作整合为可重复使用的模块”的能力是人类程序员相对于人工智能助手的一项重要优势。2024 年是复制/粘贴行数首次超过移动行数的一年。

图片

GitClear 的研究表明,新的代码和复制的代码的数量在增加,但重构的数量却在减少。

GitClear 表示,原因在于代码助手只需按下 Tab 键即可轻松插入新代码块。人工智能不太可能建议在代码的其他地方重复使用类似的函数,部分原因是上下文大小有限,即用于人工智能建议的周围代码量有限。

与 GitClear 的报告形成鲜明对比的是,谷歌的 2024 年 DORA“DevOps 现状”报告声称,人工智能的采用率提高使代码质量提高了 3.4%;但 DORA 报告还指出“交付稳定性估计降低了 7.2%”。

事实证明,这两份报告并没有表面上看起来那么不同。在单个代码块级别,人工智能的帮助可能会提高代码质量;但 DORA 的研究人员表示,由于人工智能允许开发人员更快地交付更多代码,因此很可能以后需要进行更多更改,他们的研究表明,更大的更改“速度更慢,更容易造成不稳定”。

人工智能对编码的影响可以以不同的方式呈现。支持者(和人工智能供应商)可以指出生产力的提高,这是大多数开发人员都认同的,而怀疑者则可以指出人工智能对代码维护的不利影响。

正如谷歌所做的那样,说起来容易做起来难,组织应该制定使用人工智能的指导方针来解决问题;但鼓励不良做法的工具必然会增加不良做法,除非它们得到改进。

作者:万能的大雄

评论