边界先行

翔宇在 Claude Code 实战教程中提出的开发路径原则:先开发系统里固定不变的边界(密钥保存、用户数据输入、后台数据库),再开发中间易变的业务流程。因为边界是稳定的,先做好能省下大量重复调试;中间流程来回变化,放到最后做。

简介

边界先行(Boundary First)回答的是”程序开发到底从哪里开始”的问题。翔宇观察到,一个应用里有两类东西:固定的边界(怎么保存密钥、用户怎么提交/输入数据、数据存到哪个数据库)和易变的中间流程(走 Gemini 还是 Vertex、单视频还是多视频、什么认证方式、什么上传链路)。中间流程会随需求反复变化,而边界一旦定下来就相对稳定。

因此正确的开发顺序是先把固定的边界开发好——密钥保存机制、数据输入接口、数据库结构先固化,这样后续开发中间流程时,就不需要每次都重新处理密钥、重新对接输入,从而节省效率。翔宇把它和”两端开发”联系起来:先开发好输入端(用户数据/密钥)和输出端(数据库/产物),中间的处理流程最后填。这与 MVP胶水编程 共同构成他给普通人的开发路径方法论。

关键信息

  • 英文:Boundary First
  • 类型:AI 编程开发路径原则
  • 核心区分:固定边界(密钥/输入/数据库)vs 易变流程(认证/模型/上传链路/单多视频)
  • 开发顺序:先固定边界 → 后易变中间流程(两端先行、中间最后)
  • 配套实践:TDD 手搓 + TMP/ 临时测试脚本
  • 相关概念MVP胶水编程技术选型AI产品PRD状态文件

核心特性

1. 区分固定与易变

边界先行的前提是识别哪些是固定的、哪些是易变的。翔宇的创剪项目里,密钥保存和数据输入格式是固定的——“你只要固定,它是固定的”;而中间流程”有时候走 Gmail(Google AI Studio),有时候走 Vertex,有时候是单视频的,有时候是多视频的”,来回变化。先做固定的,避免易变流程反复冲击已完成部分。

2. 先做边界省效率

把固定边界先开发好的直接收益是”节省你的效率——密钥我就不需要每次来调了”。如果先做易变的中间流程,每次流程变动都可能牵动密钥、输入、存储的重做;反过来先固化边界,中间流程无论怎么改都建立在稳定地基上。

3. 两端开发思路

边界先行等价于”两端开发”:先确定输入端(用户数据、密钥怎么提交)和输出端(生成什么、数据存哪、返回云端链接还是视频),中间的处理链路最后写。翔宇明确说”既然先把固定的开发好之后,节省你的效率”,这也是他为什么把密钥、后台、数据库列为第一步。

4. 配合 TDD 手搓落地

边界确定后,翔宇的初始开发用 TDD 模式:在开发目录下新建 TMP/ 临时文件夹先写测试脚本(如先测 Gemini API 连通性,跑通再测视频分析能力),验证成功再组正式代码。他有专门的 command(tdd-tmp 类)让 Claude 按 PRD 先写测试脚本放进 TMP/。“你先写测试成功了你再让它开发程序”,避免上来就写页面、写功能的低效。

不同素材中的观点

  • 2026-07-21-youtube-xiangyu-claude-code-video-app:翔宇在”程序开发章节”提出边界先行作为开发路径原则,紧接 PRD 设计和技术选型之后。他坦承这不保证是最佳实践、是自己的经验,欢迎程序员质疑。核心逻辑:密钥保存是第一步(调用任何 API 都要用户设密钥),把密钥、后台、数据库这些固定的先设计好,用户怎么输入数据也先设计好;中间怎么走流程(Gmail/Vertex/单多视频)来回变化,最后做。落地上配合 TDD——先在 TMP/ 写连通性测试脚本,跑通再逐步组代码、完善页面和数据库结构,“这样是效率最高的”。

实用信息

落地步骤

  1. 识别边界:列出系统里固定不变的部分——密钥保存、用户数据输入格式、数据库/表结构、产物输出形式。
  2. 先固化边界:优先把密钥管理、数据输入接口、数据库结构开发并测试通过。
  3. 两端先行:输入端 + 输出端先做好,中间处理链路后填。
  4. TDD 补位:边界定好后,在 TMP/ 写测试脚本(先测最小连通性),跑通再组代码。
  5. 中间流程按需迭代:认证方式、模型路由、单/多视频等易变逻辑放最后,在稳定边界上迭代。

注意事项

  1. 不是唯一最佳实践:翔宇本人强调这是经验而非定论,程序员可有不同选择。
  2. 边界识别要准:把易变的误当固定先做死,反而增加重构成本——先想清楚哪些真的稳定。
  3. 配合 PRD:边界先行的前提仍是先有清晰的产品设计,否则连边界都定不准。

相关页面