# 我们不再执着于自己的代码

“有人”发推说,在智能体编程时代之前,开发者对自己的代码极其护短,无法把自我和代码分开。

现在智能体开始登场,这一点已经改变了。

我记得几年前,要把一个新功能或新产品发布到生产环境,你必须了解它实现中的每一个细节,细到每一个比特,而其中一些可能需要持续几天、几周甚至几个月的复杂工作。

当我的代码终于跑通时,它意义重大,因为那是付出、挫败和一路上小小胜利的结果。

如果有人建议用一种(完全)不同的方案(彻底)替换它,回答多半是“我花了太多时间;它能用;我们不应该碰它”

所以关于代码重构的讨论总是会制造紧张,因为在表面之下,它隐藏着无数个不眠之夜和付出。

现在,由于大部分实现都由智能体编写,这种压力已经不存在了。

如果同事告诉我,他们找到了更好的方式来实现我上个月发布的某个功能,我没什么理由去捍卫它。

我描述了它,验证了它,但没有为它吃过苦。

执着本身并没有消失;它只是转移到了更重要的东西上:架构设计、技术栈、基础设施定义、运维、产品等等。

这些决定依然需要真正的思考,也是我在评审中会据理力争的东西。

代码本身只是表达这些想法的一种方式。

所以,催生出那段代码的决定,才是执着应该所在的地方。

这为更多的实验打开了大门,也让我们能更灵活地改变和适应,而不必打破工程师的自我之墙。

不过有一个风险需要记住。

不执着于代码,也可能意味着不理解代码。

只有当工程师清楚系统应该做什么,并且有测试能证明替换后的实现依然做到了这些,替换代码才能安全进行。

感谢阅读我的博客文章!欢迎继续看看我的其他文章,或者通过页脚里的社交链接联系我。


更多文章

# 当 AI 来写代码时,如何保持有用

5 min read

默认情况下,我反对阅读 AI 生成的代码。如果每一行生成的代码都需要我审查,那么我的阅读速度就会成为整个流程的上限。对于一段有问题的实现,我通常宁愿把它应该做什么说清楚,然后让它重写,也不愿花更多时间去弄明白它为什么写错了。在例外情况下我仍然会检查代码,尤其是高风险的逻辑,或者那些我无法用其他方式解释的失败。

阅读