Skip to content
返回架构决策

可逆性

按反转多贵评每决策,并花与此成本成比例的精力。

为什么

有些决策便宜反转(哪个缓存库——一天换)有些不(哪个数据库——6 月迁)。同精力花两者浪费:1 天可逆选择花 2 周决策流程是瘫痪;6 月可逆选择花 1 天流程是鲁莽。可逆评级(便宜、中、贵)校准流程:便宜决策获 PR+评论、中获 ADR、贵获 ADR+原型+主签。这是"单向 vs 双向门"原则——多数决策双向、当单向是组织瘫痪主源。

何时使用

提议时评每决策。5 分钟。成本估变时重评。

如何做

1. 对提决策估反转成本:
   - 便宜(< 1 工程日):换库、重命名内部 API、改配置
   - 中(1 工程周到 1 工程月):换框架、换托管服务
   - 贵(> 1 工程月):换数据库、换云供方、重架构
2. 应用匹配流程:
   - 便宜 → PR 带解释选择的评论;无 ADR
   - 中 → ADR 带备选;技术负责人批
   - 贵 → ADR + 原型 + 主/架构师签 + 迁移计划
3. 把可逆评级记 ADR(若写了)
4. 若便宜决策反转时变贵,停并重评

示例

决策及可逆:
  - linter 换 Biome → 便宜(1 天换回)→ PR+评论、无 ADR
  - 采 tRPC 代 REST → 中(2 周换回)→ ADR-019
  - Postgres 迁 DynamoDB → 贵(6 月迁回)→
      ADR-020 + 原型 + 主签 + 3 月迁移计划
  - /api/v1/users 重命名 /api/v1/accounts → 中(消费者迁移)→ ADR-021

贵决策获便宜决策 10 倍流程——成比例精力。

常见问题

  • ⚠把每决策当贵——团队为 linter 配写 ADR 且真决策淹在噪声里;诚实评。

最佳实践

  • ✓默认"便宜"除非能说反转的具体成本——多数决策可逆、假设不可逆是瘫痪。
  • ✓知更多时重评可逆——看着便宜的决策(换库)可能贵(库已在 50 文件);更新流程。

相关资源