从“能运行”到“可信任”
为什么退出码为零不等于任务完成,以及如何为自动化工作流定义真正的验收条件。
很多自动化脚本只检查进程是否以零退出。但对于会产生文件、数据库记录或外部副作用的任务,这只能证明程序没有主动报告错误。
真正的问题是:预期结果是否完整、语义是否正确、状态是否已经持久化?
成功不是一个布尔值
一次执行至少可能同时涉及四种不同的判断:进程是否正常退出、产物是否完整、结果在语义上是否正确,以及执行者是否有权完成这些操作。把它们折叠成一个 success: true,会让错误成功报告变得很难发现。
从可检查的结果开始
可靠的工作流应先描述最终可观察的结果,再决定执行过程。这样,首次运行、失败恢复和最终验收都能使用同一套事实来源。
这是用于验证博客内容结构的示例文章,后续会替换为带代码、日志与复盘的真实工程记录。