核心问题

理解这个系统需要占用多少脑力?

复杂系统最先耗尽的不是 CPU,而是人的工作记忆。

工程映射

认知负荷来自:

  • 文件太散
  • 命名含糊
  • 隐式约定太多
  • 抽象层太深
  • 上下文切换频繁
  • 一个函数要理解 8 个模块才能改

例如 canAccessCourse 如果需要读 purchases、subscriptions、memberships、refunds、cache、feature flag,调用方就承担了过多脑力。

降低负荷

  • 好名字
  • 局部性
  • 统一错误模型
  • 清楚入口
  • 测试表达承诺
  • 文档解释为什么

小结

好设计不是让人记住更多,而是让人需要记住更少。