Redian新闻
>
AI也造代码屎山!研究发现GitHub Copilot代码可维护性差,偏爱“无脑重写”而非重构复用已有代码

AI也造代码屎山!研究发现GitHub Copilot代码可维护性差,偏爱“无脑重写”而非重构复用已有代码

公众号新闻
丰色 发自 凹非寺
量子位 | 公众号 QbitAI

AI帮忙写代码程序员用了都说好,但代码质量真的靠谱吗?

结果或许令你大跌眼镜。

一家名为GitClear的公司分析了近四年超过1.5亿行代码后发现,随着GitHub Copilot工具的加入,代码流失率(即代码写入后不久又被返工修改、删除的情况)出现了显著上升:

2023年为7.1%,而2020年时仅为3.3%,翻了一番。

与之相应的,代码复用率也出现了明显下降。

言外之意,AI写的很多内容其实不亚于“屎山”,根本不好随着业务的变化作相应更改。

看起来,AI编程工具还远没有宣传中的那么好用?

Copilot更爱直接添加代码而不鼓励复用

GitClear收集的1.5亿行代码中,有3/2来自匿名私企,剩下的1/3则源自于谷歌、Meta和微软的开源项目。

它们全部被排除了“噪声”数据,比如在多个分支中提交的一模一样的代码、空行以及其他没有意义的代码行。

调查的主要对象是微软的GitHub Copilot。

它于2021年6月推出测试版,按照CEO说法,截至2023年第三季度,该工具已有超100万开发者付费订阅,能够帮助开发者编写46%的代码,并将编码速度提高55%。

不过在此,GitClear不关心编码速度,只关心质量。

“AI编程工具更类似于高级开发人员,仔细又精细?还是更像短期承包商一样,只在乎面前的任务完成与否?”

为此,他们统计了这1亿行+代码的新增、删除、更新、移动、复制/粘贴等情况,得出了这样一个趋势表格:

从中我们可以发现:

Copilot添加代码、复制/粘贴代码的百分比比更新、删除和移动增加得更明显。

其中我们还可以清晰地看到,移动代码的百分比从2020年的25%下降到了13.4%,这是所有数据中唯一一个反向特例。

更少的移动意味着更少的重构和复用,加上大幅增长的添加、复制/粘贴代码,这表明:

AI编程工具并不鼓励代码复用、在已有代码上进行修改,而是更倾向于“无脑重写”。

在此,GitClear也指出,过度新增代码、复制/粘贴对代码的长期可维护性也相当不利。

这其实在人类程序员中也是老问题,可能是程序员觉得解决当下问题比思考如何复用、整合现有代码更快更容易,也可能是因为同个项目组中的开发人员沟通不畅等。

遭殃的就变成后面的维护人员。

Copilot的代码质量下降也体现在代码流失率(Churn)这个数据上。

在此,它的标准定义是代码编写后不到两周的时间内修改更新的百分比。

表格显示,2020年的流失率为3.3%(那会还没有用上Copilot),2023年增长到5.5%。

GitClear预计,2024年将直接相比2020年翻一番之多,达到7.1%。

这说明AI的加速,并没有带来足够高质量的代码。

除了以上结论,GitClear还发现,Copilot的代码建议算法还被设计为总是提出最有可能被用户接受的建议——

这选择乍一听没啥毛病,但其实会忽略代码简洁易读的重要性。

总的来说,这项结果足以让那些担心AI编程工具会取代人类程序员的人暂时把心放肚子里。

最近也有不少其他研究佐证了GitClear的发现。

比如来自CodeScene的一篇报告就表示:

在编码任务中,AI远无法取代人类;今天的AI太容易出错,且远未达到能够安全修改已有代码的程度。

网友体验大差不差

实实在在使用过Copilot的人怎么说?

一位网友表示:

我用了俩个月后取消了会员,因为花了太多精力去检查AI给出的代码以及修复bug。

在TA看来,现阶段还是自己编写内容要省力得多,因为自己知道自己想要写什么,修复自己的bug总是比修复机器人的更容易。

有人使用的是ChatGPT而非Copilot,也对TA的话表示了赞同:

我对AI的能力感到惊讶,但还是不会称其为“好代码”。

当然,Copilot在大家眼里也并非一无是处。

一位从事web开发20多年的程序员就表示:

用它编写重要的SQL或TypeScript代码时,总是失败;但对于编写测试、请求处理、React样式等等来说,它还是可以帮我节省大量时间的。

你的Copilot(或者其他AI编码工具)体验如何?你同意GitClear的发现吗?

参考链接:
[1]https://devclass.com/2024/01/24/ai-assistance-is-leading-to-lower-code-quality-claim-researchers/
[2]https://visualstudiomagazine.com/articles/2024/01/25/copilot-research.aspx
[3]https://www.gitclear.com/coding_on_copilot_data_shows_ais_downward_pressure_on_code_quality

—  —

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
头发重生计划启动!研究发现:皮肤内的这项秘密武器或许能拯救你的发际线!外企春招丨Continental大陆集团管培生开启!2年工作经验可投,500强德企,杰出雇主,女性友好,偏爱留学生校招 | HUAWEI华为企业BG2024校招留学生岗位,世界五百强,六险一金,带薪病假,内购优惠,偏爱留学生快消外企社招 | Reckitt利洁时社招岗位上新!杜蕾斯母公司,百年外企,女性友好,偏爱留学生华硕五款笔记本亮相英国教育展:可选翻转屏、强调高度可维修性代码屎山噩梦加速来袭,都是AI生成代码的锅?快消外企社招 | LVMH路威酩轩时装部社招!顶级奢侈品集团,女性友好,偏爱留学生重磅!DoorDash、UberEats、Grubhub和Relay通通惨败开发速率飙升20倍!GPT Pilot明星项目登Github热榜,从0开始构建AI《中国爱与梦》&《骨刺》外企校招 | TI德州仪器留学生招聘专场开启!世界五百强,六险一金,生育友好,偏爱留学生校招 | oppo春招正式启动!世界独角兽企业,六险一金,带薪假期,超多福利,偏爱留学生500行代码打造AI搜索引擎!贾扬清周末项目登顶GitHub热榜500行代码构建AI搜索工具,贾扬清最新开源项目登顶GitHub热榜外企社招 | HSBC汇丰银行12月社招岗位!行业TOP,灵活办公,偏爱留学生,20天带薪年假JHU/WashU/UCSB三校放榜!JHU缩招13%!WashU录取缩水...Cell | 真的是太难了!研究发现心理压力越大,炎症性肠病发作愈发加剧Oracle 2500 万行的屎山代码有多“恐怖”?乱套!多伦多高校女子比赛炸锅:5名“男妹妹”暴揍全场!多次把女孩打脑重伤!徐英才新作《中国三行诗理论与技巧》前言女儿泪HSBC汇丰银行11月社招岗位!行业TOP,灵活办公,偏爱留学生,20天带薪年假回国的尴尬(一)大厂程序员提倡“防御性编程”:故意把代码写得很烂,万一被裁,要确保留下的代码不可维护!外企社招 | IVA12月岗位上新,大众子公司,德国外企,0经验有岗,偏爱留学生安省医生车祸脑重创不能说话行走 自行研究6办法奇迹康复!放弃体验,偏爱“打卡”:影院屏摄背后的社会心态这是真的.......英国大学研究发现GCSE成绩不仅关乎本科申请,还影响生活幸福指数!比VS Code快得多!用Rust重写,支持OpenAI、Copilot 的Zed编辑器开源了iOS版Firefox充斥着大量 “屎山代码”固定收益 | “谁”是城投之系列研究:城投名单(非重点地区)快消外企社招 | GIS通用磨坊社招,哈根达斯母公司,六险一金,世界500强,偏爱留学生HSBC汇丰环球2024校招火热进行中!行业TOP,灵活办公,偏爱留学生,20天带薪年假今天终于解开了一个迷曾文文/周鸿团队发现GLP-1新机制,保护大脑竟然也有它的参与!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。