浏览 AI 知识库

全栈项目开发顺序:按数据库、接口和页面拆纵向切片

前端全部做完、后端全部做完,不等于产品能跑通。按一个用户流程切出数据库、接口和页面的纵向小闭环,才能尽早暴露契约问题。

沿完整工作流推进

前一阶段的可检查结果,是下一阶段的输入;中间证据不足时停在当前阶段。

  1. 01两边都说完成了,为什么联调时一个流程也走不通
  2. 02先确认这次任务的起点、边界和交付
  3. 03从“选最小闭环”走到“按依赖扩展”
  4. 04从‘新建报销’一直打通到页面反馈
  5. 05完成后的纵向功能切片计划
沿一件真实任务走到底

两边都说完成了,为什么联调时一个流程也走不通

前端先做完所有页面,后端另做完所有接口,联调时发现订单状态叫法不同、分页格式不同、空值也不一致。两边都“完成”却没有一个流程能用。

  • 每个切片能端到端演示
  • 字段和状态在同一片验证
  • 依赖、责任人和完成证据明确
本例材料

先确认这次任务的起点、边界和交付

需要确认本例内容
现有材料首期功能为创建项目、查看列表和关闭项目;数据库尚未定稿,团队前后端各两人。
不能越过的边界按可端到端验收的纵向切片推进;每片包含数据、接口、页面、权限和测试;共享契约先确认。
要交付的结果纵向功能切片计划
处理记录

从“选最小闭环”走到“按依赖扩展”

当前阶段实际处理
选最小闭环选择一个高价值、低依赖的动作,明确输入、持久化、响应和页面反馈。
先定契约和状态写实体字段、校验、权限、接口请求响应、错误和页面加载空状态,不急着实现全部字段。
完成第一条纵向链迁移、数据访问、业务逻辑、接口和页面一起完成,并用真实环境跑通。
补测试和观测对关键规则做单元或接口测试,对用户流程做浏览器验证,日志能定位每一层。
按依赖扩展只有上一切片通过验收,才加入新状态、角色和功能,避免同时打开过多未完成模块。
第一条纵向切片

从‘新建报销’一直打通到页面反馈

层本切片实现证据
数据expense_draft 表、金额正数约束、用户归属迁移在测试库执行并可回滚
业务保存草稿时校验发票状态和当前用户单测覆盖空金额与越权
接口POST /api/expenses/drafts 返回 201/400/403接口测试保存请求与响应
页面表单、上传中、错误提示、草稿成功状态浏览器测试完成一次保存
观测请求 ID、用户 ID 脱敏、失败原因日志能从页面错误追到接口
最终输出

完成后的纵向功能切片计划

切片一只做创建项目,从迁移到 POST 接口、表单和成功/失败测试一起交付;切片二做列表分页;切片三做关闭与权限。每片结束都能在浏览器完成真实操作,字段契约随片验证。

常见失败

为什么“切片很小,仍然相互阻塞”还不能交付

切片很小,仍然相互阻塞

原因
共享认证或基础迁移没有作为前置
怎么改
把真正共享的薄层先建好,其他工作按切片所有权分开
验收方式

纵向功能切片计划通过哪些检查才算完成

进一步核对

从零做项目:参考资料与核对入口