防错设计

1)目标与定义(一句话)

防错设计(error-proofing / poka-yoke)是把“犯错的可能性降到最低,并把不可避免的错误限制在可恢复或无害的范围内”的体系方法,目标包括预防、提示、自动纠正、快速恢复

2)原则(核心思维)

3)扩展的防错类型(补充分类)

4)犯错原因(更具体的心理/环境因素)

5)防错方法与设计模式(每项附简单范例)

断根(消除犯错的机会)

保险(多重确认 / 双人/多因素校验)

自动(自动检测并阻断/恢复)

归一化(规范输入/状态)

复制 / 冗余(冗余 + 备份)

标识警告(及时可见的错误提示)

隔离(把错误限制在小范围)

顺序(引导与约束)

6)常用工程实践(软件/运维角度)

7)评估与优先级(风险管理)

8)可执行的设计评审清单(设计/PR/上线前用)

  1. 这个操作的最坏后果是什么?能接受吗?
  2. 是否存在一次性不可逆操作?是否提供撤销?
  3. 是否有幂等/重复操作保护?
  4. UI 是否明确显示当前状态与下一个步骤?
  5. 是否存在隐式默认值?是否合理?
  6. 是否对关键路径做了自动校验?(前后端)
  7. 是否有监控/告警覆盖该场景?(错误率/回滚数)
  8. 是否有回滚/恢复的 runbook?是否演练过?
  9. 是否影响权限模型或数据隔离?
  10. 是否考虑了无障碍与国际化的错误信息?

9)测试 & 监控(确保防错措施有效)

10)文化与流程(组织层面)

11)常见误区(避免)

12)实战小模板(复用到 PRD / 设计文档)

场景:<短描述>目标用户:<谁>期望结果:<用户期望的最终状态>可能偏离路径(列举具体动作):1) … 2) …最坏后果(MCA):<能否接受?>优先级(高/中/低):建议防错措施(模式):1) … 2) …验收条件(测试/监控/告警):1) 单元/集成测试覆盖;2) 指标 < X;3) 回滚 runbook

13)举 3 个简短例子(帮助落地)

14)度量指标(用于评估防错效果)

15)快速 10 项上线前核对清单(可打印)

  1. 有不可逆操作吗?有撤销或人工流程?
  2. 幂等/重复提交保护是否到位?
  3. 是否做了前后端一致性校验?
  4. 关键路径是否有监控与 SLO?
  5. 故障后能否快速回滚?有 runbook 吗?
  6. UI 有明确状态与错误修复提示吗?
  7. 是否考虑了权限与审计?
  8. 是否把“风险矩阵”写进 PRD?
  9. 是否做过并发/混沌/恢复测试?
  10. 是否记录了回退条件与沟通模版(对内/对外)?