展开讨论

经验与复盘经验摘录 · 机器翻译

我会持相反的观点

我会持相反的观点。专业软件工程师,像我们中的许多人,对于AI编程有一个很大的盲点,那就是对代码质量的执着。关注代码质量是合情合理的。我们没有错。毕竟,我们整个职业生涯都在编写代码。低质量的代码会减慢我们的速度,并对最终用户造成速度慢/不安全/不可靠等问题。然而,在AI编程的时代,代码质量变得越来越不相关,忽视这一点就是把头埋在沙子里。即使我们不喜欢,这并不意味着它不真实。有两个因素导致了这种情况:(1)越来越多的人编写小型应用程序,以及(2)编码模型和代理工具的进步。我们正日益进入一个世界,非高级程序员的人正在用一个用户群体为自己“构建”应用程序。在许多情况下,这些应用程序简单有效,而且没有多年来大型软件套件给用户带来的臃肿。

源讨论八年的心愿,三个月用AI实现原帖 301 条评论 · 导入时统计
8

这条内容在回应什么?

父级讨论 · 节选

AU

看到一篇诚实且平衡的关于AI编程的分析真是令人耳目一新。一旦你克服了AI写出可执行并按要求工作的代码的最初惊艳感,这就是真正的AI辅助编程的样子。 这种体验对每个认真使用AI代码生成并随后审查输出结果的软件工程师来说都很熟悉: > 但当我于1月底详细审查代码库时,缺点显而易见:代码库完全是一团乱麻。我不理解大部分Python源代码提取流程,函数分散在随机的文件中,没有清晰的结构,一些文件已经增长到几千行。它非常脆弱;它解决了眼前的问题,但绝不可能应对我更大的愿景, 有些人从未到达审查代码的阶段。他们直接跳到他们的领英或博客,开始写作(或让Ch...…

完整原文

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 8

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

VL

> 然而,在AI编程的时代,代码质量正变得越来越不相关,忽视这一点就等于把头埋在沙子里。即使我们不喜欢,它仍然是事实。 强烈不同意。我刚刚看到一个团队花了数周时间试图让AI让一段代码运行,因为编码的风格是混乱的垃圾代码,甚至AI也无法判断需要做什么,基本上是在无效地打地鼠——它会修复你要求的错误,但同时又会重新引入旧的错误或引入新的错误,因为没有人理解发生了什么。而且人类也无法像平常一样介入,因为没有人理解发生了什么。

完整原文
LO

> 然而,在AI编程的时代,代码质量正变得越来越不相关,忽视这一点就等于把头埋在沙子里。即使我们不喜欢,它仍然是事实。 相反,代码质量正变得越来越重要。以前你只能忽视质量一段时间,直到实现任何更改的时间变得如此之长,以至于完全阻碍了项目。 这仍然成立,AI唯一改变的是它让你进一步深入技术债务,直到你看到问题。但现在问题不再是逐渐上升,而是一下子出现,一旦你到达当前模型无法有效处理的点,你就完全迷失了。 > 我们正处于AI真正开始在这一领域有所作为的最早几个月。它不太可能停止改进。 我们嗨…

完整原文
PH

我完全不认同这个观点。代码质量永远都会很重要。对于LLM来说,上下文是王道,当你用数千行的混乱代码填充上下文时,LLM(确实)表现得更差。输入垃圾,输出垃圾,根据我的经验,这仍然是事实。 混乱的代码仍然是混乱的代码。一个应该很小的更改最终会触及代码库的多个部分。这不仅增加了成本,而且每次你需要更改这个功能时,问题会进一步加剧。 我不明白为什么有人会想要这样的现实。如果更简单的代码可以更快更便宜地找到答案,为什么你会想要一个在原地打转、浪费金钱的代理呢? 也许有一天会改变。也许会有新的AI技术彻底改变我们做事的方式。但如果LLM的架构保持不变,我看不出你为什么不想去做的理由。…

完整原文
WI

> 然而,在AI编程的时代,代码质量正变得越来越不相关,忽视这一点就等于把头埋在沙子里。即使我们不喜欢,它仍然是事实。 > [...] > 我们正日益走向一个世界,非专业程序员的人会用用户只有一个的“应用”来“构建”自己的应用。在许多情况下,这些应用是简单有效的,而且没有大型软件套件多年来给用户带来的臃肿。代码是简单的,即使它不是,也不会有人需要维护它,所以这无关紧要。一些应用可能不可靠,一些可能被黑客攻击,一些可能很慢且效率低下,但这无关紧要。这个趋势将继续增长。 我同意越来越多的人将利用代理编程来编写自己的工具/应用以制作 t…

完整原文
SU

> 从来没有人需要维护它,所以这无关紧要 我对那些仍在被使用但无人维护的软件很感兴趣。如果这是一个个人轶事,那也没关系

完整原文
MJ

> 在AI编程的时代,代码质量变得越来越不重要,忽视这一点就是自欺欺人。即使我们不喜欢,这并不意味着它不真实。 我强烈不同意这个观点,事实上,我认为恰恰相反:由于AI的存在,代码质量比以往任何时候都更重要。 LLM辅助编程在具有与高质量代码强烈相关的特性的代码库中最为成功:可预测的模式、良好的变量命名、类型系统的使用、没有全局可变状态、总体上非常低的可变性等。 我现在正在一个相当糟糕的Python代码库的遗留部分使用AI(比如,就在现在,Claude正在运行,而我正在打字),它遇到了同样的困难,就像人类会遇到的一样。这个DataFrame有哪些列?谁知道呢,因为这个DataFrame会根据函数调用而被修改…

完整原文
ZO

在AI编程的时代,代码质量变得越来越不重要 实际上,它变得越来越重要。AI不断需要重新阅读自己的代码,并将其纳入有限的上下文中,以便将其作为参考来编写新内容。这意味着每一个代码异味和每一个不必要的代码膨胀实际上都会成为进一步进展的严重障碍。可以说,你应该对AI生成的内容进行重构和清理,甚至比你纯粹为人类编码时更加关注。

完整原文
HO

如果在AI编程中更倾向于强类型语言,那么对代码质量的执着可能会让LLM生成更好的代码。

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。