关于AI生成代码质量的争议性观点
摘要
作者针对AI生成代码质量常见的批评意见进行了分析,认为人们对这类工具能产出完美且易于维护的代码的期望往往不切实际。
我在Reddit上看到很多人在抱怨AI生成的代码质量(即便是最先进的模型生成的代码)。我看到的大多数批评都有道理:- 代码可读性差 - 逻辑冗余重复 - 注释使用过度 - 形式上的测试等等。简单介绍一下我自己:在我的职业生涯中,我曾在各类IT服务公司、大型金融机构以及初创企业参与过采用不同架构的大型项目。迄今为止,我从未见过结构清晰的代码库,也从未见过有人能写出符合人们对AI预期标准的代码,这让我十分困惑。似乎人们忘记了,即便不使用AI生成代码,糟糕且难以维护的代码本来就存在,而且还会继续存在。我觉得人们要么是对这些工具期望过高,要么就是使用方式不当(工作流程、代码仓库管理、编码规范等方面存在问题)。即便如此,他们仍然期望AI第一次生成代码就能完美运行,还要求其符合那些连他们自己手动编写代码时都不愿遵守的标准,更不愿花时间进行审查和修改。在我看来,这种想法极其不切实际。欢迎给我点反对票,也欢迎指出我的错误或批评我,我已经做好准备了。
相似文章
AI生成代码的质量
这篇文章讨论了一个担忧:随着AI工具生成越来越多的代码,未来基于这些合成代码训练的模型可能会质量下降、原创性降低,并询问像OpenAI、Anthropic和GitHub这样的主要AI实验室计划如何应对这个问题。
在AI时代编写高质量代码
本文讨论了在AI辅助下编写高质量代码的挑战和最佳实践,强调需要进行严格的代码审查,避免盲目信任AI生成的输出。
关于AI编程及其不满
卡尔·纽波特反思了人们对Claude Code等AI编程工具的最初热忱,以及开发者因隐藏漏洞、质量问题和不持续的工作流而日益幻灭,认为目前将所有代码生产外包给AI并不可行。
即使AI代码能工作,我也会拒绝
作者解释了为何他们经常拒绝AI生成的代码,即使这些代码可以工作,原因包括无法解释方法、diff过大、过早抽象以及降低系统推理能力,并主张必须进行人工审查。
AI生成C++代码在生产环境中的质量特征分析
一项大规模实证研究,分析了生产环境中352万次C++代码变更,比较AI生成代码与人工编写代码的质量,发现AI代码具有更高的耦合度和计算开销,但有针对性的反馈可以缓解这些问题。