“使用红/绿 TDD”(Use red/green TDD)是一种非常简洁且有效的方法,能让编程智能体输出更高质量的结果。
TDD 代表测试驱动开发(Test Driven Development)。这是一种编程风格,要求你确保编写的每一段代码都配有自动化的测试,以此证明代码运行正常。
TDD 最严谨的形式是测试先行开发(Test-first Development)。你先编写自动化测试,确认测试失败,然后不断迭代实现方案,直到测试通过。
事实证明,这种方式与编程智能体是绝配。使用编程智能体的一个重大风险是,它们可能会写出无法运行的代码,或者构建出不必要且从未被使用的代码,甚至两者兼有。
测试先行开发有助于防止这两类常见错误,同时还能确保拥有一套稳健的自动化测试套件,以防御未来的回归(Regressions)风险。随着项目的增长,新更改破坏现有功能的风险也随之增加。到目前为止,建立全面的测试套件是保持这些功能正常运行最有效的方法。
在实现代码以使测试通过之前,确认测试失败至关重要。如果你跳过这一步,就有可能构建一个本来就能通过的测试,从而无法真正检验和确认你的新实现是否有效。
这就是“红/绿”的含义:红色阶段观察测试失败,然后绿色阶段确认测试现在已通过。
任何优秀的模型都能理解“红/绿 TDD”这个简写,其背后的完整含义是:“使用测试驱动开发,先编写测试,在实现促使测试通过的更改之前,先确认测试是失败的。”
提示词示例:
构建一个用于从 Markdown 字符串中提取标题的 Python 函数。使用红/绿 TDD。---
原文:Agentic Engineering Patterns by Simon Willison
关注公众号「Python之禅」,回复「1024」免费获取Python资源