核心用法
Brainstorming 是一个前置设计技能,强制在执行任何创造性工作(功能开发、组件构建、行为修改)之前使用。它通过自然对话形式,分阶段将模糊想法转化为可落地的技术方案。
标准流程:
1. 理解意图 — 先检视项目现状(文件、文档、提交历史),然后逐题追问澄清需求,每次只问一个问题,优先使用选择题降低用户负担
2. 探索方案 — 提供 2-3 种可选路径,明确列出 trade-offs,并给出推荐选项及理由
3. 分段呈现设计 — 每 200-300 字输出一个模块(架构、组件、数据流、错误处理、测试),逐段确认后再继续
4. 文档固化 — 通过后将设计写入 docs/plans/YYYY-MM-DD-<topic>-design.md 并提交 git;若继续开发,则创建隔离工作空间并生成详细实施计划
显著优点
- 强制深度思考:"必须先用我"的机制杜绝了拍脑袋编码
- 增量验证:分段确认机制避免方向性错误累积到后期
- YAGNI 内建:明确要求从设计中剔除不必要的功能
- 上下文感知:主动检查项目现有状态,避免方案与现状脱节
局限性与风险
- 对话成本:简单改动可能显得流程过重
- 单线程瓶颈:"一次一问"在紧急场景下可能显得拖沓
- 依赖用户配合:需要用户愿意投入时间回答追问,而非直接要代码
- 未覆盖安全扫描:认证报告显示未执行实际安全审计
适合人群
- 中大型功能开发的团队
- 需要降低架构决策返工率的场景
- 对"先设计后编码"有纪律要求的组织
常规风险
- 过度设计:虽有 YAGNI 原则,但实际效果依赖执行者的克制
- 文档债务:设计文档若不及时维护,可能与代码实现 divergence