你的工作是交付已验证且可运行的代码
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
禅道项目管理工具
扫码关注公众号
扫码阅读
手机扫码阅读
文章主旨:
作者认为,在大模型赋能开发、AI快速产出代码的背景下,程序员不能把AI生成的代码简单扫一眼就提交PR,而应承担最终责任,通过手动测试与自动化测试证明代码确实可用后再交付。
关键要点:
- AI提升代码产出速度,但复制AI代码后简单扫一眼就提交PR,属于严重的工作失职。
- 程序员的职责不只是埋头写代码,更重要的是交付能正常运行的代码;系统后续迭代与维护最终仍要依靠程序员把控。
- 验证代码可用至少需要两步:手动测试与自动化测试。手动测试是基础,需完整运行、搭建匹配环境、跑通业务流程,并保留终端命令与输出截图。
- 自动化测试用于弥补手动测试效率低的短板,且LLM工具使其更容易;但自动化测试不能替代手动测试,因为脚本只覆盖预设场景,难以模拟真实业务中多变的用户操作。
- 大模型不会为线上故障承担任何责任,项目内所有代码产出的最终责任是开发者;应引导AI编码工具完成验证闭环,交付经过完整验证的代码。
内容结构:
引言
大模型赋能开发已成常态,程序员产出代码的速度明显变化。但作者指出,把AI产出的代码复制出来、简单扫一眼就提交PR,是严重的工作失职。作者重申此前观点:系统长久的迭代与维护最终仍要依靠程序员把控;在AI普及的今天,程序员职责不只是写代码,更是交付能正常运行的代码。
一、怎么证实你的代码确实可用?
- 手动测试是基础前提:无论代码是程序员自己写的还是AI生成的,都应完整运行一遍。测试不是为了避免当下不出问题,而是防患于未然。可先搭建匹配项目的运行环境,设定初始业务状态,跑通业务流程,确认核心功能符合需求,并把操作终端命令、运行输出截图附在提交记录中;功能运行良好后,再测试各种极端情况。
- 自动化测试用于弥补手动测试效率低的短板:现在有了LLM工具,自动化测试比之前容易得多,更没有省略的理由。提交PR时要注意补充相应的自动化测试。原文提及可参考《LLM如何重塑自动化测试的底层逻辑》,但未展开说明。
- 不能因自动化测试跳过手动测试:自动化脚本只能覆盖预设场景,很难模拟真实业务中多变的用户操作。手动测试搭配自动化测试,才能更好验证代码的实用性与可靠性,避免线上出现未知故障。
二、让你的AI编码工具先证明这一点
- LLM领域的重要趋势是AI编码工具爆炸式增长。Claude Code、Codex CLI等工具可以自主运行生成的代码,因此要学会引导AI完成完整的验证闭环。
- 日常开发时,可以提前配置指令,引导Claude Code自主调用程序执行测试,快速筛选语法错误和逻辑断层。
- 开发后端接口时,仅依靠控制台日志很难完整验证接口链路,就可以要求AI生成改动代码后自动发起接口请求,校验入参、返回数据、异常场景响应结果,提早发现参数校验遗漏、事务失效这类日志难以暴露的隐性问题。
三、开发永远是代码的最终责任人
- 底线不变:大模型不会为线上故障承担任何责任,项目内所有代码产出的最终责任是开发者。
- 借助LLM生成代码的门槛极低,输入需求描述就能产出上千行代码并快速提交PR。这种无门槛的代码产出已没有稀缺价值,真正稀缺的是交付经过完整验证的代码。
- 很多开发者太依赖AI,已经忘记之前古法编程的感觉。但代码一旦线上出现崩溃,责任只会追溯到提交代码的本人。
- 程序员每次提交PR之前,一定要确保自己的代码是经过测试的。
参考资料
原文附参考资料:Simon Willison:Your job is to deliver code you have proven to work。
文章总结:
AI可以加速编码,但不能替代开发者的验证与责任;提交PR前必须证明代码可用,交付经过完整验证的代码。
禅道项目管理工具
禅道项目管理工具
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
禅道项目管理工具的其他文章
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线