问题一、后端标准需求开发完整流程适配日常迭代、配合 Claude Code 协作整体分为需求阶段 → 方案设计 → 编码开发 → 自测联调 → 提测修复 → 上线收尾6 大阶段每个环节配套后端必做事项同时附上适配你当前 Claude 开发模式的规范。一、需求评审 需求拆解开发启动前1. 接收原始需求产品输出需求文档、原型、业务背景、验收标准、上下游依赖前端、第三方接口、定时任务、数据来源。2. 需求确认 3 件事边界确认哪些场景做、哪些不做、异常场景超时、重复请求、参数为空、并发如何处理数据口径新增哪些表、字段含义、字段类型、是否唯一、是否允许为空依赖确认是否调用第三方接口、依赖其他服务、是否需要改动旧接口 / 数据表。3. 拆解任务拆分最小开发单元示例新增向量入库接口拆分为建表 → DTO/VO 定义 → Mapper → Service 逻辑 → 单元测试 → 接口文档。4. 输出产物需求拆解清单、疑问点反馈产品确认避免开发中途反复改需求。二、方案设计阶段编码之前先设计再写代码1. 数据库设计后端核心新建 / 修改数据表主键、索引、联合索引、字段注释、默认值、分表 / 分区量大场景数据生命周期是否逻辑删除、是否需要创建人 / 创建时间、归档规则避免后期频繁改表。2. 接口设计定义请求方式GET/POST/PUT/DELETE、入参 DTO、出参 VO、统一返回格式定义错误码、业务异常枚举幂等设计新增 / 修改接口是否防重复提交唯一索引、token 幂等、分布式锁。3. 技术方案选型同步接口普通 SpringMVC异步场景线程池 / MQ缓存热点数据是否加 Redis、缓存更新策略事务哪些逻辑需要事务、事务传播机制、避免长事务并发场景分布式锁、限流方案。4. 输出设计产物数据库建表语句、接口文档Swagger/OpenAPI、简要技术方案。✅ 搭配 Claude 用法发送需求 业务背景让 Claude 输出建表 SQL、接口定义执行/compact固定设计上下文防止后续 AI 遗忘设计方案。三、编码开发阶段正式写代码遵循分层开发Controller → Service → Mapper自上而下编写。1. 基础骨架先行新建 DTO、VO、枚举、异常类MyBatis/MyBatis-Plus Mapper、Entity 实体类公共常量、工具类复用已有组件。2. 分层编码规范Controller只做参数校验、接收请求、调用 Service、统一返回结果禁止写业务逻辑Service业务逻辑、事务控制、调用第三方 / MQ / 缓存拆分接口层Service 实现层ServiceImplMapper只做数据库 CRUD复杂 SQL 单独写 XML禁止在 Mapper 嵌套业务逻辑。3. 配套同步开发新增接口同步补充 Swagger 注解复杂逻辑提前写单元测试用例用到 Mock 依赖时沿用MockBean/MockitoBean做测试 Mock。4. 编码约束结合你之前的配置不自动全盘读取项目代码只加载当前开发用到的类MockBean废弃注解仅警告不强制全局替换。开发阶段 Claude 工作流新开分支隔离开发/branch 新增向量入库接口写完一个模块执行/compact压缩上下文防止缓存堆积遇到报错执行/debug查看 Claude 读取文件、排查问题的完整过程。四、本地自测自己必须测完再转交测试1. 单元测试UTService 层核心业务逻辑全覆盖正常场景、异常场景、入参非法场景使用MockitoBeanMock 外部依赖Embedding、第三方接口不依赖完整容器。注单元测试是为了测试方法的运行逻辑是否有问题2. 接口自测Postman / IDE Http 请求调用接口覆盖正常、异常参数校验数据库数据是否正确写入、缓存是否生效自测点参数校验、异常返回、事务回滚、重复提交。注接口测试是为了真实调用接口,测试我们在调用过程中的链路哪个环节出了bug,一般可以忽略进行了单元测试的方法,而去检测并解决该方法上下游链路中可能出现的bug。所以,单元测试和接口自测缺一不可,是保证我们代码健壮性和可行性的必要经过。3. 简单联调本地启动后端对接前端本地环境联调解决参数对接、字段不一致问题。五、提交测试 Bug 修复代码提交 Git拉取测试分支部署测试环境测试人员根据需求验收用例测试提交 BugBug 分级阻断性 Bug 优先修复优化类 Bug 迭代处理每修复一轮 Bug同步补充对应的单元测试防止后续回归。六、预发布验证 上线阶段1. 预发环境验证和生产一致的环境核对数据、接口表现避免测试环境正常、生产报错。2. 上线前准备准备数据库变更脚本DDL/DML回滚方案上线出错如何回滚代码、如何撤销 SQL确认发布窗口、是否需要停服务、是否灰度发布。3. 上线操作先执行数据库脚本发布后端服务上线后实时观察接口报错率、日志、CPU、数据库慢 SQL、MQ 堆积。七、上线收尾 复盘核对线上功能是否符合需求闭环遗留小问题整理本次迭代踩坑点SQL 慢查询、并发问题、第三方超时等归档接口文档、SQL 脚本清理无用测试会话不需要的分支会话执行/clear。八、极简精简版日常快速执行版需求评审 → 建表 设计接口 → 分层编码 → 写单元测试 → 本地接口自测 → 提测改 Bug → 预发校验 → 上线观测 → 复盘归档。九、适配你 Claude Code 的专属开发流程结合你之前缓存优化配置拿到需求 → 新建分支/branch xxx需求让 AI 输出建表 SQL、接口结构分层编码写完一块就/compact编写单元测试使用MockitoBean自测无误提交代码该需求完全结束后可/clear清空会话避免缓存累积。问题二、「后端开发 Checklist 检查表」每次开发照着勾选避免漏事务、幂等、异常处理、单元测试等关键点整体分为 7 大模块适配 SpringBoot 后端、单元测试、线上上线规范兼容你使用 Claude Code 开发模式。一、需求评审 拆解阶段开发前需求确认已通读需求文档、原型明确功能目标、业务场景确认需求做 / 不做的边界范围无模糊需求梳理全部异常场景参数为空、重复请求、超时、并发、下游服务宕机确认上下游依赖前端、其他微服务、第三方接口、MQ、定时任务已将疑问同步产品并拿到明确答复避免中途改需求非常重要,开发周期不会变,产品改需求开发背锅,一定确认好并留痕,别让产品浪费开发时间恶心人拆分最小开发子任务预估工时附属确认是否新增数据表、修改原有表结构是否需要做数据迁移、历史数据兼容是否涉及权限、租户、数据隔离二、方案设计阶段编码之前必做数据库设计数据表字段齐全所有字段添加注释主键策略确定自增 / 雪花 ID必要索引、联合索引建立避免后续慢 SQL配置逻辑删除字段is_deleted、创建时间、更新时间、操作人字段非空、长度、唯一约束设计完毕编写可执行的 DDL 建表脚本留存用于上线大批量数据场景确认是否分表、分区接口设计请求方式规范新增 POST、查询 GET、修改 PUT、删除 DELETE定义入参 DTO、出参 VO字段命名统一入参校验规则明确非空、长度、正则、数值范围全局统一返回体格式错误码枚举完善接口幂等方案确定唯一索引 / 分布式锁 / 幂等 Token接口限流、防刷对外接口必须设计技术方案确定是否使用 Redis 缓存、缓存更新策略更新 DB 同步更新缓存 / 淘汰缓存需要事务的方法已标记Transactional规避长事务异步逻辑选用线程池 / RabbitMQ/RocketMQ并发场景分布式锁Redisson解决方案第三方调用超时时间、重试策略、熔断降级规则敏感字段手机号、身份证是否脱敏 / 加密存储三、编码开发阶段通用分层规范Controller 只做参数校验、接收请求、调用 Service、返回结果无业务逻辑Service 层承载业务逻辑拆分Service接口 ServiceImpl实现类Mapper 层仅负责数据库 CRUD复杂 SQL 写 XML禁止业务 SQL 嵌套新增接口补充 Swagger / Knife4j 文档注解所有自定义业务异常统一抛全局异常处理器不零散 try-catch实体 入参规范Entity 实体和数据库字段一一对应DTO 仅接收前端参数VO 专门返回前端禁止实体直接返回前端使用 JSR380 注解校验入参NotBlank、NotNull、Pattern常量统一放入 Constant 类禁止魔法硬编码字符串事务与安全新增、修改、删除逻辑加上事务事务传播行为、隔离级别按需配置避免事务失效场景SQL 避免select *只查询需要的字段防止 SQL 注入、XSS、越权访问Claude Code 配套编码规范适配你的配置新开需求使用/branch 需求名称创建独立会话禁止 AI 自动全盘扫描项目代码严格遵循CLAUDE.md读取约束使用MockBean仅警告即可重构时再替换为MockitoBean单个模块开发完成执行/compact压缩上下文防止缓存暴涨四、单元测试阶段核心业务强制全覆盖Service 单元测试正常业务流程测试通过参数非法、为空、超长等异常场景测试事务回滚场景测试出错是否回滚数据Mock 第三方依赖、其他 Service不依赖完整 Spring 容器使用MockitoBean完成Mock 注入分支覆盖率达到核心逻辑 100%接口测试使用 Postman / IDE Http 发起接口调用自测正常入参 → 校验返回数据、数据库入库结果错误入参 → 校验错误码、异常提示正确重复提交测试验证幂等生效测试事务异常场景下数据不会脏写入附属校验日志打印完整入参、出参、异常堆栈敏感日志已脱敏五、本地自测 联调本地完整启动项目无报错对接前端本地环境联调解决字段名称、格式不一致问题核对缓存逻辑写入、读取、更新、删除是否符合预期查看控制台日志无报错、无异常堆栈检查是否产生慢 SQL执行 explain 校验索引生效定时任务如有改动本地调试运行正常六、提测、Bug 修复阶段代码提交前执行代码格式化、无多余注释、无用代码Git 提交备注清晰【需求编号】新增XX接口部署测试环境同步测试人员测试注意事项阻断性 Bug 优先修复优化类 Bug 记录迭代处理每修复一个 Bug补充对应的单元测试用例防止回归Bug 全部修复完毕后回归复测七、上线前检查 发布阶段重中之重上线前置检查数据库 DDL/DML 脚本整理完毕单独留存上线回滚方案代码回滚方式、数据库回滚语句确认发布窗口是否需要停服、灰度发布关闭测试专用代码、测试开关、本地配置核对配置文件生产环境地址、账号、开关正确确认第三方接口生产地址配置无误确认是否需要预热缓存、初始化数据发布上线先执行数据库变更脚本发布后端服务发布完成查看服务启动日志确保正常启动抽样调用线上接口验证功能可用上线观测发布后 15~30 分钟持续查看[ ] 接口报错率、异常数量平稳无飙升[ ] 数据库慢 SQL 数量、连接数、锁等待[ ] 服务器CPU、内存、磁盘使用率[ ] MQ消息无堆积、消费正常[ ] 收到异常告警立刻介入排查八、上线收尾 清理线上功能验收确认和需求一致归档接口文档、SQL 脚本、技术方案复盘本次开发踩坑点记录规避方案该需求会话不再使用时执行/clear清空 Claude 会话缓存合并分支、清理废弃测试分支精简随身版开发快速对照需求确认 → 建表 接口设计 → 分层编码 → 单元测试 → 本地联调 → 提测改 Bug → 上线前置检查 → 发布 监控 → 归档复盘额外附赠 3 条避坑规则任何修改表结构的操作必须准备回滚 SQL禁止直接在线上库手动改表核心支付、订单、库存业务单元测试必须全覆盖上线出现未知异常优先回滚代码再排查问题不要在线上不停改代码调试。
claude code使用命令技巧(三)(后端需求开发流程)
问题一、后端标准需求开发完整流程适配日常迭代、配合 Claude Code 协作整体分为需求阶段 → 方案设计 → 编码开发 → 自测联调 → 提测修复 → 上线收尾6 大阶段每个环节配套后端必做事项同时附上适配你当前 Claude 开发模式的规范。一、需求评审 需求拆解开发启动前1. 接收原始需求产品输出需求文档、原型、业务背景、验收标准、上下游依赖前端、第三方接口、定时任务、数据来源。2. 需求确认 3 件事边界确认哪些场景做、哪些不做、异常场景超时、重复请求、参数为空、并发如何处理数据口径新增哪些表、字段含义、字段类型、是否唯一、是否允许为空依赖确认是否调用第三方接口、依赖其他服务、是否需要改动旧接口 / 数据表。3. 拆解任务拆分最小开发单元示例新增向量入库接口拆分为建表 → DTO/VO 定义 → Mapper → Service 逻辑 → 单元测试 → 接口文档。4. 输出产物需求拆解清单、疑问点反馈产品确认避免开发中途反复改需求。二、方案设计阶段编码之前先设计再写代码1. 数据库设计后端核心新建 / 修改数据表主键、索引、联合索引、字段注释、默认值、分表 / 分区量大场景数据生命周期是否逻辑删除、是否需要创建人 / 创建时间、归档规则避免后期频繁改表。2. 接口设计定义请求方式GET/POST/PUT/DELETE、入参 DTO、出参 VO、统一返回格式定义错误码、业务异常枚举幂等设计新增 / 修改接口是否防重复提交唯一索引、token 幂等、分布式锁。3. 技术方案选型同步接口普通 SpringMVC异步场景线程池 / MQ缓存热点数据是否加 Redis、缓存更新策略事务哪些逻辑需要事务、事务传播机制、避免长事务并发场景分布式锁、限流方案。4. 输出设计产物数据库建表语句、接口文档Swagger/OpenAPI、简要技术方案。✅ 搭配 Claude 用法发送需求 业务背景让 Claude 输出建表 SQL、接口定义执行/compact固定设计上下文防止后续 AI 遗忘设计方案。三、编码开发阶段正式写代码遵循分层开发Controller → Service → Mapper自上而下编写。1. 基础骨架先行新建 DTO、VO、枚举、异常类MyBatis/MyBatis-Plus Mapper、Entity 实体类公共常量、工具类复用已有组件。2. 分层编码规范Controller只做参数校验、接收请求、调用 Service、统一返回结果禁止写业务逻辑Service业务逻辑、事务控制、调用第三方 / MQ / 缓存拆分接口层Service 实现层ServiceImplMapper只做数据库 CRUD复杂 SQL 单独写 XML禁止在 Mapper 嵌套业务逻辑。3. 配套同步开发新增接口同步补充 Swagger 注解复杂逻辑提前写单元测试用例用到 Mock 依赖时沿用MockBean/MockitoBean做测试 Mock。4. 编码约束结合你之前的配置不自动全盘读取项目代码只加载当前开发用到的类MockBean废弃注解仅警告不强制全局替换。开发阶段 Claude 工作流新开分支隔离开发/branch 新增向量入库接口写完一个模块执行/compact压缩上下文防止缓存堆积遇到报错执行/debug查看 Claude 读取文件、排查问题的完整过程。四、本地自测自己必须测完再转交测试1. 单元测试UTService 层核心业务逻辑全覆盖正常场景、异常场景、入参非法场景使用MockitoBeanMock 外部依赖Embedding、第三方接口不依赖完整容器。注单元测试是为了测试方法的运行逻辑是否有问题2. 接口自测Postman / IDE Http 请求调用接口覆盖正常、异常参数校验数据库数据是否正确写入、缓存是否生效自测点参数校验、异常返回、事务回滚、重复提交。注接口测试是为了真实调用接口,测试我们在调用过程中的链路哪个环节出了bug,一般可以忽略进行了单元测试的方法,而去检测并解决该方法上下游链路中可能出现的bug。所以,单元测试和接口自测缺一不可,是保证我们代码健壮性和可行性的必要经过。3. 简单联调本地启动后端对接前端本地环境联调解决参数对接、字段不一致问题。五、提交测试 Bug 修复代码提交 Git拉取测试分支部署测试环境测试人员根据需求验收用例测试提交 BugBug 分级阻断性 Bug 优先修复优化类 Bug 迭代处理每修复一轮 Bug同步补充对应的单元测试防止后续回归。六、预发布验证 上线阶段1. 预发环境验证和生产一致的环境核对数据、接口表现避免测试环境正常、生产报错。2. 上线前准备准备数据库变更脚本DDL/DML回滚方案上线出错如何回滚代码、如何撤销 SQL确认发布窗口、是否需要停服务、是否灰度发布。3. 上线操作先执行数据库脚本发布后端服务上线后实时观察接口报错率、日志、CPU、数据库慢 SQL、MQ 堆积。七、上线收尾 复盘核对线上功能是否符合需求闭环遗留小问题整理本次迭代踩坑点SQL 慢查询、并发问题、第三方超时等归档接口文档、SQL 脚本清理无用测试会话不需要的分支会话执行/clear。八、极简精简版日常快速执行版需求评审 → 建表 设计接口 → 分层编码 → 写单元测试 → 本地接口自测 → 提测改 Bug → 预发校验 → 上线观测 → 复盘归档。九、适配你 Claude Code 的专属开发流程结合你之前缓存优化配置拿到需求 → 新建分支/branch xxx需求让 AI 输出建表 SQL、接口结构分层编码写完一块就/compact编写单元测试使用MockitoBean自测无误提交代码该需求完全结束后可/clear清空会话避免缓存累积。问题二、「后端开发 Checklist 检查表」每次开发照着勾选避免漏事务、幂等、异常处理、单元测试等关键点整体分为 7 大模块适配 SpringBoot 后端、单元测试、线上上线规范兼容你使用 Claude Code 开发模式。一、需求评审 拆解阶段开发前需求确认已通读需求文档、原型明确功能目标、业务场景确认需求做 / 不做的边界范围无模糊需求梳理全部异常场景参数为空、重复请求、超时、并发、下游服务宕机确认上下游依赖前端、其他微服务、第三方接口、MQ、定时任务已将疑问同步产品并拿到明确答复避免中途改需求非常重要,开发周期不会变,产品改需求开发背锅,一定确认好并留痕,别让产品浪费开发时间恶心人拆分最小开发子任务预估工时附属确认是否新增数据表、修改原有表结构是否需要做数据迁移、历史数据兼容是否涉及权限、租户、数据隔离二、方案设计阶段编码之前必做数据库设计数据表字段齐全所有字段添加注释主键策略确定自增 / 雪花 ID必要索引、联合索引建立避免后续慢 SQL配置逻辑删除字段is_deleted、创建时间、更新时间、操作人字段非空、长度、唯一约束设计完毕编写可执行的 DDL 建表脚本留存用于上线大批量数据场景确认是否分表、分区接口设计请求方式规范新增 POST、查询 GET、修改 PUT、删除 DELETE定义入参 DTO、出参 VO字段命名统一入参校验规则明确非空、长度、正则、数值范围全局统一返回体格式错误码枚举完善接口幂等方案确定唯一索引 / 分布式锁 / 幂等 Token接口限流、防刷对外接口必须设计技术方案确定是否使用 Redis 缓存、缓存更新策略更新 DB 同步更新缓存 / 淘汰缓存需要事务的方法已标记Transactional规避长事务异步逻辑选用线程池 / RabbitMQ/RocketMQ并发场景分布式锁Redisson解决方案第三方调用超时时间、重试策略、熔断降级规则敏感字段手机号、身份证是否脱敏 / 加密存储三、编码开发阶段通用分层规范Controller 只做参数校验、接收请求、调用 Service、返回结果无业务逻辑Service 层承载业务逻辑拆分Service接口 ServiceImpl实现类Mapper 层仅负责数据库 CRUD复杂 SQL 写 XML禁止业务 SQL 嵌套新增接口补充 Swagger / Knife4j 文档注解所有自定义业务异常统一抛全局异常处理器不零散 try-catch实体 入参规范Entity 实体和数据库字段一一对应DTO 仅接收前端参数VO 专门返回前端禁止实体直接返回前端使用 JSR380 注解校验入参NotBlank、NotNull、Pattern常量统一放入 Constant 类禁止魔法硬编码字符串事务与安全新增、修改、删除逻辑加上事务事务传播行为、隔离级别按需配置避免事务失效场景SQL 避免select *只查询需要的字段防止 SQL 注入、XSS、越权访问Claude Code 配套编码规范适配你的配置新开需求使用/branch 需求名称创建独立会话禁止 AI 自动全盘扫描项目代码严格遵循CLAUDE.md读取约束使用MockBean仅警告即可重构时再替换为MockitoBean单个模块开发完成执行/compact压缩上下文防止缓存暴涨四、单元测试阶段核心业务强制全覆盖Service 单元测试正常业务流程测试通过参数非法、为空、超长等异常场景测试事务回滚场景测试出错是否回滚数据Mock 第三方依赖、其他 Service不依赖完整 Spring 容器使用MockitoBean完成Mock 注入分支覆盖率达到核心逻辑 100%接口测试使用 Postman / IDE Http 发起接口调用自测正常入参 → 校验返回数据、数据库入库结果错误入参 → 校验错误码、异常提示正确重复提交测试验证幂等生效测试事务异常场景下数据不会脏写入附属校验日志打印完整入参、出参、异常堆栈敏感日志已脱敏五、本地自测 联调本地完整启动项目无报错对接前端本地环境联调解决字段名称、格式不一致问题核对缓存逻辑写入、读取、更新、删除是否符合预期查看控制台日志无报错、无异常堆栈检查是否产生慢 SQL执行 explain 校验索引生效定时任务如有改动本地调试运行正常六、提测、Bug 修复阶段代码提交前执行代码格式化、无多余注释、无用代码Git 提交备注清晰【需求编号】新增XX接口部署测试环境同步测试人员测试注意事项阻断性 Bug 优先修复优化类 Bug 记录迭代处理每修复一个 Bug补充对应的单元测试用例防止回归Bug 全部修复完毕后回归复测七、上线前检查 发布阶段重中之重上线前置检查数据库 DDL/DML 脚本整理完毕单独留存上线回滚方案代码回滚方式、数据库回滚语句确认发布窗口是否需要停服、灰度发布关闭测试专用代码、测试开关、本地配置核对配置文件生产环境地址、账号、开关正确确认第三方接口生产地址配置无误确认是否需要预热缓存、初始化数据发布上线先执行数据库变更脚本发布后端服务发布完成查看服务启动日志确保正常启动抽样调用线上接口验证功能可用上线观测发布后 15~30 分钟持续查看[ ] 接口报错率、异常数量平稳无飙升[ ] 数据库慢 SQL 数量、连接数、锁等待[ ] 服务器CPU、内存、磁盘使用率[ ] MQ消息无堆积、消费正常[ ] 收到异常告警立刻介入排查八、上线收尾 清理线上功能验收确认和需求一致归档接口文档、SQL 脚本、技术方案复盘本次开发踩坑点记录规避方案该需求会话不再使用时执行/clear清空 Claude 会话缓存合并分支、清理废弃测试分支精简随身版开发快速对照需求确认 → 建表 接口设计 → 分层编码 → 单元测试 → 本地联调 → 提测改 Bug → 上线前置检查 → 发布 监控 → 归档复盘额外附赠 3 条避坑规则任何修改表结构的操作必须准备回滚 SQL禁止直接在线上库手动改表核心支付、订单、库存业务单元测试必须全覆盖上线出现未知异常优先回滚代码再排查问题不要在线上不停改代码调试。