Phillip Mortimer 在 QCon London 的演讲“软件工程中的复杂性与创造力”上指出,人工智能(AI)使所有代码都趋向于“只写且不可读的”。
代码过于密集难以阅读,测试定义行为并成为文档。
代码变成可丢弃的,重写往往比调试更容易。
人工无法对大量 AI 生成的代码进行规模化审查。
Mortimer 建议进行自动化审查并让智能体通过可观测性实现自我修复。
意图与实现要进行解耦,开发者应更加专注于创造力。
Mortimer 认为,在 AI 时代,所有代码都是只写的。
他引用了 Eric S Raymond 的话: “只写代码”是指那些深奥、复杂或结构混乱的代码,除了作者之外几乎无人能修改或理解,甚至作者自己也可能无法完全理解。
Mortimer 表示,某些语言从设计上就是“只写的”,它们以牺牲可读性换取极大的表达力与性能,他提到了 APL 与正则表达式。
这类语言体现了由于极致密度导致的复杂性。
应对这类代码的一个原则是让测试定义行为: 当你写出的代码过于密集而难以阅读时,理解其行为的唯一方式是通过大量测试用例。
测试成为了代码的文档。
Mortimer 说,你通过查看输入输出的组合来了解代码应当做什么,因为从代码本身很难直接看明白。
另一个原则是代码可丢弃的。
只写代码难以调试,通常从头重写比修改已有代码更容易。
Mortimer 建议,保留测试,丢弃代码,重新实现。
🔗 原始来源
如果你要核对细节,可以再看原文: InfoQ AI原文链接
AI热榜