核心问题
理解这个系统需要占用多少脑力?
复杂系统最先耗尽的不是 CPU,而是人的工作记忆。
工程映射
认知负荷来自:
- 文件太散
- 命名含糊
- 隐式约定太多
- 抽象层太深
- 上下文切换频繁
- 一个函数要理解 8 个模块才能改
例如 canAccessCourse 如果需要读 purchases、subscriptions、memberships、refunds、cache、feature flag,调用方就承担了过多脑力。
降低负荷
- 好名字
- 局部性
- 统一错误模型
- 清楚入口
- 测试表达承诺
- 文档解释为什么
小结
好设计不是让人记住更多,而是让人需要记住更少。