深度分析 AI 生成的低可读性代码在长期维护中带来的成本和风险。对所有使用 AI 辅助编程的开发者都是必读的清醒认识。
嘿。如果你的老板不愿意投资让你学习示例说明规范(BDD、ATDD),我在 5 月 12 日和 16 日晚间开设工作坊,专门为自筹经费的学员准备。费用 £99 + 英国增值税。
越来越多人报告的一个现象是:开发人员修改或修复大型语言模型生成的代码所需的时间在增加。
如果你曾经从事过其他人(也许是几十年前)编写的遗留系统,你会认识到这种现象。在我们能够安全地修改代码之前,我们首先需要理解它——理解它做什么,以及经常需要理解它为什么这样做。从这个意义上讲,这并不是什么新鲜事。
新的是问题规模的扩大——高速代码生成器向数百万个项目大量倾倒未曾审查的代码。
关心质量的团队会花时间审查和理解(大多数情况下,还会重新编写)LLM 生成的代码,然后才能进入仓库。这会减缓整个过程,以至于使用 LLM 编码助手节省的任何时间往往被下游的工作量所抵消。
但一些团队选择了不同的方法。他们是提交没人审查过的代码的团队,这些代码只是被仓促地测试过——如果有测试的话。显然,这样的团队为数不少。
当团队生成代码的速度超过他们理解代码的速度时,就会产生我所谓的"理解债务"。如果软件被使用,那么很可能在某个时刻这些生成的代码会需要修改。"A.I."的倡导者会说"我们可以让工具来做这件事"。这也许有 70% 的时间是有效的。
但那些大量试验过使用 LLM 进行代码生成和修改的人知道,有些时候工具就是无法完成任务。
"末日循环"(Doom loops),当我们一遍遍地试图让某个 LLM 或各种不同的 LLM 修复一个似乎无法解决的问题时,这是使用这项技术的日常体验。任何声称这种情况从未发生在他们身上的人,要么运气特别好,要么在说谎。
可以肯定的是,我们会有很多次需要自己手动编辑代码。"理解债务"就是我们首先需要花费的额外时间来理解这些代码。
而我们正面临着一个快速增长的理解债务山峰。
在 X 上分享(在新窗口打开)X
在 Facebook 上分享(在新窗口打开)Facebook
在 LinkedIn 上分享(在新窗口打开)LinkedIn
在 Reddit 上分享(在新窗口打开)Reddit
通过电子邮件向朋友分享链接(在新窗口打开)电子邮件
Codemanship Ltd 创始人、代码工艺教练和培训师 查看所有文章(by codemanship)