你的工作是交付已验证且可运行的代*

1 天前  陈哥聊测试 

大家好,我是陈哥。

当下大模型赋能开发已经是行业常态,程序员产出代码的速度肉眼可见变化。但是有些程序员会把AI产出的代码复制出来,简单扫一眼就提交PR,这在我看来属于严重的工作失职。

之前我在 《AI Coding时代仍要以人为本》 中写道,一套系统后续长久的迭代与维护,最终还是要依靠程序员把控。

在AI普及的今天,程序员的职责不只是埋头写代码,更重要的是交付能正常运行的代码。

交付可运行的代码-1

一、怎么证实你的代码确实可用?

想要证实一段代码真正具备上线可用的能力,有两个步骤是不可或缺的。

第一就是手动测试,这是验证代码的基础前提。无论是程序员自己写的代码,还是AI生成的代码,都应该完整地运行一遍。

我知道肯定有人会说我之前的AI代码都没测试过,上线后照样能运行。那只能说你的运气非常好,现在不出问题,并不表达未来不出问题,我们进行测试就是为了防患于未然。

我们可以先搭建匹配项目的运行环节,设定初始业务状态,先跑通业务流程,直观确认核心功能符合需求,把操作终端命令、运行输出截图附在提交记录中。这些功能都运行良好后,就可以开始测试各种极端情况了。

验证有效性的第二步是自动化测试,用于弥补手动测试效率低的短板。现在有了LLM工具,自动化测试比之前容易得多,就更没有了省略的理由。所以,提交的PR时要注意补充相应的自动化测试。

关于LLM下的自动化测试,大家可以看一下这篇文章 《LLM如何重塑自动化测试的底层逻辑》 ,这里我就不展开说明了。

最后,要注意不要因为觉得自动化测试已经涵盖了众多方面,就想跳过手动测试。自动化脚本只能覆盖预设场景,很难模拟真实业务中多变的用户操作,所以手动测试搭配自动化测试,才能更好地验证代码的实用性与可靠性,避免线上出现未知故障。

二、让你的AI编码工具先证明这一点

聊完人工验证代码的标准,我再说说AI编码工具的自校验能力。

这几年,LLM领域最重要的趋势是AI编码工具的爆炸式增长。像Claude Code、Codex CLI等这类工具,是可以自主运行生成的代码,我们要学会引导AI完成完整的验证闭环。

在日常开发时,我可以提前配置指令,引导Claude Code自主调用程序执行测试,快速筛选语法错误和逻辑断层。

如果开发后端接口,仅依靠控制台日志很难完整验证接口链路,就可以要求 AI 生成改动代码后自动发起接口请求,校验入参、返回数据、异常场景响应结果,提早发现参数校验遗漏、事务失效这类日志难以暴露的隐性问题。

交付可运行的代码-2

三、开发永远是代码的最终责任人

讲了这么多,有一条底线是不变的。大模型不会为线上故障承担任何责任,项目内所有代码产出的最终责任是开发者。

如今借助LLM生成代码的门槛极低,输入一段需求描述就能产出上千行代码,快速提交PR。这种无门槛的代码产出已经没有任何稀缺价值,任何人都能做到。真正稀缺的是交付经过完整验证的代码。

现在,很多开发者太依赖AI了,已经忘记了之前古法编程的感觉。但是代码一旦线上出现崩溃,责任只会追溯到提交代码的本人。

所以,程序员在每次提交PR之前,一定要确保自己的代码是经过测试的。这里给大家推荐一下我参与开发的禅道自动化测试功能:

禅道软件自动化测试

  • 参考资料:Simon Willison:Your job is to deliver code you have proven to work
/7 人阅读/0 条评论 发表评论

登录 后发表评论