自动化的价值是减少重复操作;它的风险是把一次小错误稳定地重复很多次。
场景:自动整理文章并发布
流程需要读取草稿、修改正文、上传图片并发布到网站。四个动作的风险完全不同,不能用一个“完全授权”解决。
危险设计
自动化可以读取整个硬盘、覆盖原稿、直接公开发布,失败后自动重试。一个错误可能覆盖资料或重复发布。
逐动作设置边界
| 动作 | 范围 | 确认 | 恢复 |
|---|---|---|---|
| 读取 | 指定草稿副本 | 首次授权 | 保留原稿 |
| 修改 | 只写预览目录 | 无需逐次确认 | 重新生成 |
| 上传 | 指定图片 | 上传前确认 | 保留本地副本 |
| 发布 | 指定站点 | 每次人工确认 | 保存发布记录 |
练习:画出自己的权限清单
列出流程会读取、创建、修改、发送和删除的对象。对每个动作分别写范围、确认点、日志和恢复方法。
上线前门槛
- 先用样例数据和副本运行。
- 发送、公开发布、付款、删除和密钥操作必须单独处理。
- 失败重试不会重复执行危险动作。
- 能说清怎样撤回或恢复。