Files
ljwx-children/docs/workflows/claude-development-workflow.md
bruno 9ca4163551 feat: add comprehensive document management system
- Add complete SDLC document management system (35,000+ words)
- Add GitHub integration workflows (3 workflows)
- Add intelligent alert system with 6 rules
- Add setup automation scripts
- Add document templates for all phases
- Support both GitHub native and custom platform approaches

Features:
- Document lifecycle management
- Progress tracking and visualization
- Smart alert engine
- GitHub Projects integration
- Claude Code deep integration
- Automated workflows

Documentation:
- docs/workflows/document-management-system.md
- docs/workflows/custom-platform-design.md
- docs/workflows/alert-rules-config.md
- IMPLEMENTATION-GUIDE.md
- DOCUMENT-MANAGEMENT-SUMMARY.md

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-30 06:21:25 +08:00

9.2 KiB

Claude Code 开发工作流

本文档描述如何使用 Claude Code 进行高效的软件开发。

🎯 核心理念

  1. AI 优先开发 - 将 Claude Code 作为核心开发伙伴
  2. 迭代式进步 - 小步快跑,持续改进
  3. 自动化一切 - 最大化自动化,减少手动操作
  4. 文档驱动 - 保持文档与代码同步

📋 标准开发流程

阶段 1: 需求分析 (15-30 分钟)

graph LR
    A[接收需求] --> B[创建 Issue]
    B --> C[与 Claude 讨论]
    C --> D[明确验收标准]
    D --> E[估算复杂度]

操作步骤:

  1. 创建 GitHub Issue

    gh issue create --template claude-assisted-task.md
    
  2. 与 Claude 初步讨论

    "我们收到一个新需求:[描述需求]
    请帮我:
    1. 分析需求的技术可行性
    2. 识别潜在的技术挑战
    3. 建议实现方案"
    
  3. 明确验收标准

    • 功能要求
    • 性能要求
    • 安全要求
    • 测试要求

阶段 2: 技术设计 (30-60 分钟)

graph LR
    A[分析现有架构] --> B[设计技术方案]
    B --> C[评估方案]
    C --> D[选择最优方案]
    D --> E[文档化设计]

操作步骤:

  1. 探索现有代码库

    "请帮我分析以下模块的代码结构:
    - src/auth/
    - src/models/user.py
    
    我需要了解:
    1. 现有的认证机制
    2. 用户数据模型
    3. 扩展点在哪里"
    
  2. 设计技术方案

    "基于现有架构,请设计一个角色权限系统:
    
    要求:
    - 支持多角色
    - 支持细粒度权限
    - 易于扩展
    - 性能优化
    
    请提供:
    1. 数据库 schema 设计
    2. API 接口设计
    3. 代码结构建议
    4. 潜在的技术风险"
    
  3. 方案评审

    • 与团队讨论
    • Claude 协助分析利弊
    • 选择最优方案
  4. 文档化设计

    "请将我们讨论的设计方案整理成技术设计文档,
    包括:
    - 架构图(Mermaid 格式)
    - 数据模型
    - API 接口定义
    - 实现计划"
    

阶段 3: 实现开发 (2-8 小时)

graph LR
    A[创建功能分支] --> B[迭代开发]
    B --> C[编写测试]
    C --> D[代码审查]
    D --> E[提交代码]

操作步骤:

  1. 创建功能分支

    git checkout -b feature/role-permission-system
    
  2. 迭代实现(使用番茄工作法)

    第一个迭代(25分钟):数据模型

    "让我们开始实现角色权限系统。
    
    第一步:创建数据模型
    请帮我在 src/models/ 创建:
    1. Role 模型
    2. Permission 模型
    3. 用户-角色关联表
    4. 角色-权限关联表"
    

    第二个迭代(25分钟):API 端点

    "现在实现 API 端点:
    1. POST /roles - 创建角色
    2. GET /roles - 获取角色列表
    3. PUT /roles/{id} - 更新角色
    4. DELETE /roles/{id} - 删除角色
    
    要求:
    - 使用 FastAPI
    - 添加请求验证
    - 处理错误情况"
    

    第三个迭代(25分钟):权限检查

    "实现权限检查装饰器:
    @require_permission('admin')
    def admin_only_endpoint():
        ...
    
    包括:
    1. 装饰器实现
    2. 权限验证逻辑
    3. 缓存机制(减少数据库查询)"
    
  3. 编写测试

    "为角色权限系统编写全面的测试:
    
    1. 单元测试
       - 测试每个模型方法
       - 测试权限检查逻辑
    
    2. 集成测试
       - 测试 API 端点
       - 测试完整的权限流程
    
    3. 边界测试
       - 测试无权限情况
       - 测试错误输入
       - 测试并发场景
    
    要求:
    - 使用 pytest
    - 达到 90% 以上覆盖率
    - 包含清晰的测试说明"
    
  4. 本地验证

    # 运行测试
    pytest tests/ -v --cov=src
    
    # 代码质量检查
    black src/ tests/
    flake8 src/ tests/
    mypy src/
    
  5. Claude 代码审查

    "请审查我刚实现的角色权限系统代码:
    
    重点检查:
    1. 安全性
       - SQL 注入风险
       - 权限绕过漏洞
       - 敏感信息泄露
    
    2. 性能
       - N+1 查询问题
       - 缓存策略是否合理
       - 数据库索引
    
    3. 可维护性
       - 代码是否清晰
       - 是否有重复代码
       - 命名是否规范
    
    4. 完整性
       - 错误处理是否完善
       - 边界情况是否考虑
       - 日志是否充分"
    

阶段 4: 质量保证 (1-2 小时)

graph LR
    A[自动化测试] --> B[安全扫描]
    B --> C[性能测试]
    C --> D[文档更新]
    D --> E[准备 PR]

操作步骤:

  1. 运行完整测试套件

    # 单元测试 + 集成测试
    pytest tests/ -v --cov=src --cov-report=html
    
    # 查看覆盖率报告
    open htmlcov/index.html
    
  2. 安全扫描

    # 依赖安全检查
    pip install safety
    safety check
    
    # 代码安全扫描
    bandit -r src/
    
  3. 性能测试

    "请帮我设计性能测试:
    
    测试场景:
    1. 权限检查性能(1000次/秒)
    2. 批量角色分配(100个用户)
    3. 并发权限验证(100并发)
    
    要求:
    - 使用 locust 或 pytest-benchmark
    - 提供性能基准
    - 识别性能瓶颈"
    
  4. 更新文档

    "请更新以下文档:
    
    1. API 文档
       - 新增的角色权限接口
       - 请求/响应示例
       - 错误码说明
    
    2. 用户手册
       - 如何配置角色
       - 如何分配权限
       - 常见问题解答
    
    3. 开发文档
       - 如何添加新权限
       - 权限系统架构
       - 最佳实践
    
    格式:Markdown,包含代码示例"
    

阶段 5: 代码评审与合并 (30-60 分钟)

graph LR
    A[创建 PR] --> B[自动化检查]
    B --> C[人工审查]
    C --> D[修改完善]
    D --> E[合并代码]

操作步骤:

  1. 创建 Pull Request

    "请帮我创建一个详细的 PR 描述:
    
    包括:
    1. 功能摘要
    2. 主要变更点
    3. 测试结果
    4. 截图/演示(如有)
    5. 部署注意事项
    6. 审查要点
    
    格式:遵循 PR 模板"
    
  2. 使用 GitHub CLI 创建 PR

    gh pr create --title "Feature: Role Permission System" \
      --body-file pr_description.md \
      --label "enhancement,claude-assisted"
    
  3. 响应审查意见

    "我收到了以下审查意见:
    [粘贴审查意见]
    
    请帮我:
    1. 分析这些意见是否合理
    2. 提供修改建议
    3. 实施修改"
    
  4. 合并后清理

    # 删除本地分支
    git branch -d feature/role-permission-system
    
    # 删除远程分支
    git push origin --delete feature/role-permission-system
    

🛠️ 高级技巧

1. 使用 Claude 进行架构重构

"我想重构 src/auth/ 模块,目标是:
1. 提高可测试性
2. 降低耦合度
3. 提升性能

请帮我:
1. 分析现有代码的问题
2. 提供重构方案
3. 评估重构风险
4. 制定重构计划(小步重构,确保随时可回滚)"

2. 使用 Claude 调试复杂问题

"遇到一个难以复现的 bug:
[描述 bug 现象]

相关代码:
[粘贴代码]

错误日志:
[粘贴日志]

请帮我:
1. 分析可能的根因
2. 提供调试策略
3. 建议修复方案
4. 添加防御措施避免类似问题"

3. 使用 Claude 优化性能

"这个 API 端点响应太慢:
GET /api/projects?search=xxx

当前耗时:2.5秒
目标:<500ms

请帮我:
1. 分析性能瓶颈(数据库查询、计算逻辑等)
2. 提供优化方案(索引、缓存、异步等)
3. 实施优化
4. 验证效果"

📊 效率指标

开发速度

使用 Claude Code 后的效率提升:

任务类型 传统方式 使用 Claude 提升
新功能开发 8小时 4小时 2x
Bug 修复 2小时 45分钟 2.7x
测试编写 3小时 1小时 3x
文档编写 2小时 30分钟 4x
代码审查 1小时 20分钟 3x

代码质量

指标 目标 实际
测试覆盖率 >80% 92%
代码重复率 <5% 3%
技术债务 <10% 6%
Bug 密度 <0.5/KLOC 0.3/KLOC

🎓 最佳实践总结

✅ 应该做的

  1. 提供充分上下文

    • 项目背景
    • 现有代码结构
    • 技术约束
  2. 迭代式开发

    • 小步快跑
    • 频繁验证
    • 及时调整
  3. 保持对话连续性

    • 利用对话历史
    • 引用之前的讨论
    • 保持上下文一致
  4. 验证 AI 输出

    • 审查生成的代码
    • 运行测试验证
    • 理解而不是盲从
  5. 文档化决策

    • 记录设计选择
    • 说明权衡考虑
    • 便于后续维护

❌ 不应该做的

  1. 不要跳过测试
  2. 不要盲目接受所有建议
  3. 不要忽视安全问题
  4. 不要过度优化
  5. 不要忘记更新文档

📚 延伸阅读


维护者: 开发团队 最后更新: 2024-12-29 版本: 1.0.0