Claude Code 不只用于写代码——在软件开发生命周期(SDLC)的每个阶段都能提供价值。这篇文章展示真实的端到端工作流,覆盖需求分析、架构设计、编码、测试、CI/CD 和 Day 2 运维。
阶段 1:需求分析和架构设计
用 Claude Code 做需求拆解
你是一位资深产品工程师。用户故事如下:
"作为一名用户,我想要能够上传头像,这样我的个人资料看起来更个性化。"
请帮我分析:
1. 这个用户故事涵盖的边界情况
2. 需要的 API 端点(方法、路径、参数、响应)
3. 数据库 Schema 变更
4. 前端组件需求
5. 安全考虑
6. 估算的实现复杂度(S/M/L)
架构决策记录(ADR)生成
/plan
为用户头像上传功能生成架构决策记录(ADR)。
背景:我们的应用目前有:
- Node.js/Express 后端
- PostgreSQL 数据库
- React 前端
- AWS 环境
需要决策:
- 图片存储方案(S3 vs Cloudinary vs 本地)
- 图片处理方式(客户端 vs 服务端)
- CDN 策略
对每个选项列出优缺点,给出推荐,并解释为什么。
阶段 2:测试驱动开发(TDD)
Boris Cherny 最重要的建议:给 Claude 一个验证它工作的方法,质量提升 2-3 倍。
让 Claude Code 先写测试
用 TDD 方式实现头像上传功能。
步骤:
1. 先写单元测试(覆盖:成功上传、文件类型验证、大小限制、并发处理)
2. 给我看测试,确认覆盖了重要边界情况
3. 等我确认后,实现让测试通过的代码
4. 每实现一步,运行测试确认通过
从测试开始,不要先写实现。
验证循环配置
在 CLAUDE.md 里明确测试命令:
markdown
## 验证循环(必须完成才算实现完毕)
每次修改后:
1. npm run typecheck(TypeScript 类型检查)
2. npm run lint(ESLint 检查)
3. npm run test:unit(单元测试)
4. npm run test:integration(集成测试,如果修改了 API)
所有检查通过后才报告任务完成。阶段 3:功能实现
分层实现策略
复杂功能按依赖顺序分层,每层完成后验证:
实现头像上传功能,分 4 层:
第 1 层 - 存储层:
- S3 上传工具函数(含签名 URL 生成)
- 图片压缩/Resize 工具函数
- 测试:S3 Mock + 图片处理测试
等我验证第 1 层后,继续第 2 层。
第 2 层 - 数据库层:
- 在 users 表添加 avatar_url 字段
- 创建 Prisma migration
- 测试:CRUD 操作
第 3 层 - API 层:
- POST /api/users/:id/avatar
- DELETE /api/users/:id/avatar
- 认证中间件集成
- 测试:端点集成测试
第 4 层 - 前端层:
- AvatarUpload 组件
- 拖拽上传交互
- 进度显示
- 测试:组件测试
Git Worktree 并行开发
对于大型功能,用 worktree 并行处理不相关的部分:
bash
# 建立并行 worktree
git worktree add ../avatar-backend -b feature/avatar-backend
git worktree add ../avatar-frontend -b feature/avatar-frontend
# 在各自的 worktree 里启动 Claude Code
cd ../avatar-backend && claude
cd ../avatar-frontend && claude阶段 4:代码审查
多角度并行审查(Subagents 模式)
用 3 个并行任务对头像上传 PR 进行多角度审查:
Task 1 - 安全审查:
- 文件类型验证是否能被绕过
- S3 权限是否正确(最小权限原则)
- 文件名是否做了 sanitize(防路径遍历)
- 认证检查是否完整
Task 2 - 性能审查:
- 图片处理是否异步(不阻塞请求)
- S3 上传是否有超时处理
- 前端是否有防止重复提交
Task 3 - 代码质量审查:
- 错误处理是否完整
- 日志是否足够
- 是否有重复代码可以提取
- 测试覆盖是否足够
或者直接:/ultrareview
阶段 5:CI/CD 配置
生成 GitHub Actions 工作流
为这个 Node.js/React 项目生成 GitHub Actions 工作流,要求:
触发条件:PR 到 main 分支
步骤:
1. 安装依赖(用 npm ci,不是 npm install)
2. TypeScript 类型检查
3. ESLint 检查
4. 单元测试(并行运行)
5. 集成测试(需要 PostgreSQL 服务)
6. 构建
7. 如果是合并到 main:部署到 staging
要求:
- 使用 GitHub Actions 缓存(node_modules 和 Next.js 构建缓存)
- 集成测试使用服务容器(PostgreSQL 和 Redis)
- 失败时发 Slack 通知
配置验证 Hook
yaml
# .claude/hooks/pre-commit.yaml
hooks:
- name: "提交前运行 CI 检查"
trigger: pre_commit
command: |
npm run typecheck && npm run lint && npm run test:unit
timeout: 120
on_error: "fail"阶段 6:文档生成
自动生成 API 文档
基于这些 API 路由文件,生成 OpenAPI 3.0 规范文档:
[粘贴路由文件]
要求:
- 包含所有端点的请求/响应 Schema
- 认证要求(Bearer Token)
- 错误响应(400/401/403/404/500)
- 每个参数的描述和示例值
- 输出到 docs/openapi.yaml
生成用户文档
基于这个功能的实现,生成用户文档:
- 功能说明(2-3 句话,非技术语言)
- 使用步骤(截图占位符)
- 常见问题(FAQ)
- 故障排除指南
目标读者:不懂技术的最终用户。
阶段 7:Day 2 运维
分析生产日志
分析这些生产错误日志,找出最严重的问题:
[粘贴日志]
分析:
1. 错误频率排行(哪种错误最多)
2. 可能的根本原因
3. 用户影响评估
4. 优先修复建议
性能分析
分析这个 API 端点的性能问题:
端点:GET /api/users/:id/feed
平均响应时间:2.3 秒
p99 响应时间:8.7 秒
数据库查询日志:
[粘贴 slow query log]
代码:
[粘贴路由处理代码]
找出瓶颈,给出优化方案(不要直接改代码,先给方案让我确认)。
事故响应辅助
生产告警:用户头像上传成功率从 99% 降到 47%
系统状态:
- API 服务:正常
- S3 服务:正常
- 错误日志显示:AccessDenied on s3:PutObject
帮我快速诊断:
1. 最可能的原因是什么
2. 如何验证
3. 临时缓解措施
4. 根本修复方案
全 SDLC 效率提升总结
| 阶段 | 传统方式 | 用 Claude Code | 提升 |
|---|---|---|---|
| 需求分析 | 2-4 小时 | 30-60 分钟 | 4× |
| 架构设计 | 1-3 天 | 2-4 小时 | 3-5× |
| TDD 实现 | 3-5 天 | 1-2 天 | 2-3× |
| 代码审查 | 2-4 小时 | 30 分钟 | 5× |
| 文档 | 4-8 小时 | 1 小时 | 6× |
| 事故响应 | 30-120 分钟 | 10-30 分钟 | 3-6× |
关键是把 Claude Code 集成到每个阶段,而不只是写代码的阶段。
来源:developersvoice.com Claude Code SDLC 端到端 | incident.io 案例 | Boris Cherny 工作流 | 整理:ClaudeEagle