浏览 AI使用教程
全栈项目开发顺序:按数据库、接口和页面拆纵向切片
前端全部做完、后端全部做完,不等于产品能跑通。按一个用户流程切出数据库、接口和页面的纵向小闭环,才能尽早暴露契约问题。
沿完整工作流推进
前一阶段的可检查结果,是下一阶段的输入;中间证据不足时停在当前阶段。
两边都说完成了,为什么联调时一个流程也走不通
创建项目、项目列表和关闭动作分别由不同人实现,直到联调才发现状态命名与空值不一致。计划应按一次用户结果贯穿数据、接口和页面。
- 每个切片能端到端演示
- 字段和状态在同一片验证
- 依赖、责任人和完成证据明确
先确认这次任务的起点、边界和交付
| 需要确认 | 本例内容 |
|---|---|
| 现有材料 | 首期功能为创建项目、查看列表和关闭项目;数据库尚未定稿,团队前后端各两人。 |
| 不能越过的边界 | 按可端到端验收的纵向切片推进;每片包含数据、接口、页面、权限和测试;共享契约先确认。 |
| 要交付的结果 | 纵向功能切片计划 |
从“选最小闭环”走到“按依赖扩展”
| 当前阶段 | 实际处理 |
|---|---|
| 选最小闭环 | 选择一个高价值、低依赖的动作,明确输入、持久化、响应和页面反馈。 |
| 先定契约和状态 | 写实体字段、校验、权限、接口请求响应、错误和页面加载空状态,不急着实现全部字段。 |
| 完成第一条纵向链 | 迁移、数据访问、业务逻辑、接口和页面一起完成,并用真实环境跑通。 |
| 补测试和观测 | 对关键规则做单元或接口测试,对用户流程做浏览器验证,日志能定位每一层。 |
| 按依赖扩展 | 只有上一切片通过验收,才加入新状态、角色和功能,避免同时打开过多未完成模块。 |
第一片只完成创建项目
| 层 | 本片契约 | 应收集的证据 |
|---|---|---|
| 前置 | 复用企业登录并获得当前用户ID | 未登录请求被拒绝;不另建一套认证 |
| 数据 | projects(id,name,owner_id,status);新建状态active | 迁移在测试库验证,空name不得落库 |
| 业务 | 当前用户成为owner;name去首尾空格后非空 | 有效、空白、越权owner输入用例 |
| 接口 | POST /api/projects 接收{name};201返回{id,name,status} | 客户端不能直接指定他人owner_id |
| 页面 | 名称输入、提交中、字段错、失败保留输入、成功跳详情 | 同一个项目ID可查询且刷新不丢 |
| 后续依赖 | 列表读该实体;关闭片新增active→closed与权限 | 每片独立测试,不先宣称三片全部完成 |
完成后的纵向功能切片计划
预期先交付创建项目,再复用同一实体完成列表,最后增加关闭权限与状态转换。下表是计划和需收集证据,尚不是完成记录。
为什么“切片很小,仍然相互阻塞”还不能交付
切片很小,仍然相互阻塞
- 原因
- 共享认证或基础迁移没有作为前置
- 怎么改
- 把真正共享的薄层先建好,其他工作按切片所有权分开
