开发工作流指南
🎯 概述
本文档详细说明 TradingAgents 中文增强版的标准开发工作流程,确保团队协作的一致性和代码质量。
🔄 核心工作流程
工作流程图
graph TD
A[需求分析] --> B[创建分支]
B --> C[功能开发]
C --> D[编写测试]
D --> E[更新文档]
E --> F[代码审查]
F --> G{审查通过?}
G -->|否| C
G -->|是| H[合并到develop]
H --> I[集成测试]
I --> J{测试通过?}
J -->|否| K[修复问题]
K --> C
J -->|是| L[发布准备]
L --> M[合并到main]
M --> N[版本发布]
🚀 详细工作流程
1. 功能开发工作流
1.1 需求分析阶段
# 确认开发需求
# 1. 阅读需求文档或Issue描述
# 2. 确认技术方案和实现路径
# 3. 评估开发时间和资源需求
# 4. 与团队讨论技术细节
1.2 分支创建阶段
# 确保本地develop分支是最新的
git checkout develop
git pull origin develop
# 创建功能分支
python scripts/branch_manager.py create feature risk-management-v2 -d "风险管理模块重构"
# 验证分支创建
git branch --show-current
# 应该显示: feature/risk-management-v2
1.3 功能开发阶段
# 开发核心功能
# 1. 实现主要功能逻辑
git add tradingagents/risk/manager_v2.py
git commit -m "feat(risk): 实现新版风险管理器核心逻辑"
# 2. 添加配置支持
git add config/risk_management_v2.yaml
git commit -m "feat(config): 添加风险管理v2配置文件"
# 3. 集成到主框架
git add tradingagents/graph/trading_graph.py
git commit -m "feat(graph): 集成风险管理v2到交易图"
# 定期同步develop分支
git fetch origin
git rebase origin/develop # 或使用 merge
1.4 测试开发阶段
# 编写单元测试
git add tests/risk/test_manager_v2.py
git commit -m "test(risk): 添加风险管理v2单元测试"
# 编写集成测试
git add tests/integration/test_risk_integration.py
git commit -m "test(integration): 添加风险管理集成测试"
# 运行测试确保通过
python -m pytest tests/risk/ -v
python -m pytest tests/integration/test_risk_integration.py -v
1.5 文档更新阶段
# 更新API文档
git add docs/api/risk-management.md
git commit -m "docs(api): 更新风险管理API文档"
# 添加使用示例
git add examples/risk_management_example.py
git commit -m "docs(examples): 添加风险管理使用示例"
# 更新配置文档
git add docs/configuration/risk-config.md
git commit -m "docs(config): 更新风险管理配置文档"
1.6 代码审查阶段
# 推送分支到远程
git push origin feature/risk-management-v2
# 创建Pull Request
# 1. 访问GitHub仓库
# 2. 创建PR: feature/risk-management-v2 -> develop
# 3. 填写PR模板
# 4. 添加审查者
# 5. 等待审查反馈
# 根据审查意见修改代码
git add .
git commit -m "fix(risk): 根据审查意见修复代码风格问题"
git push origin feature/risk-management-v2
2. 中文增强开发工作流
2.1 中文功能开发
# 创建中文增强分支
python scripts/branch_manager.py create enhancement akshare-integration -d "集成AkShare数据源"
# 开发中文数据源适配器
git add tradingagents/data/akshare_adapter.py
git commit -m "enhance(data): 添加AkShare数据源适配器"
# 添加中文金融术语支持
git add tradingagents/utils/chinese_terms.py
git commit -m "enhance(utils): 添加中文金融术语映射"
# 配置中文市场参数
git add config/chinese_markets/
git commit -m "enhance(config): 添加中国金融市场配置"
2.2 中文文档开发
# 添加中文使用指南
git add docs/data/akshare-integration.md
git commit -m "docs: 添加AkShare集成中文指南"
# 更新中文示例
git add examples/chinese_market_analysis.py
git commit -m "examples: 添加中国市场分析示例"
# 更新中文FAQ
git add docs/faq/chinese-features-faq.md
git commit -m "docs: 添加中文功能常见问题"
3. 紧急修复工作流
3.1 问题识别和评估
# 1. 确认问题严重程度
# 2. 评估影响范围
# 3. 制定修复方案
# 4. 确定修复时间线
3.2 紧急修复开发
# 从main分支创建修复分支
git checkout main
git pull origin main
python scripts/branch_manager.py create hotfix memory-leak-fix -d "修复内存泄漏问题"
# 实施最小化修复
git add tradingagents/core/memory_manager.py
git commit -m "fix: 修复智能体内存泄漏问题"
# 紧急测试
python -m pytest tests/core/test_memory_manager.py -v
python tests/manual/memory_leak_test.py
3.3 快速部署
# 推送修复
git push origin hotfix/memory-leak-fix
# 创建紧急PR到main
# 标记为紧急修复,跳过常规审查流程
# 合并后立即同步到develop
git checkout develop
git merge main
git push origin develop
4. 版本发布工作流
4.1 发布准备
# 创建发布分支
python scripts/branch_manager.py create release v1.2.0-cn -d "v1.2.0中文增强版发布"
# 版本号更新
echo "1.2.0-cn" > VERSION
git add VERSION
git commit -m "bump: 版本更新到v1.2.0-cn"
# 更新变更日志
# 编辑CHANGELOG.md,添加新版本的变更内容
git add CHANGELOG.md
git commit -m "docs: 更新v1.2.0-cn变更日志"
4.2 发布测试
# 完整测试套件
python -m pytest tests/ --cov=tradingagents --cov-report=html
# 性能测试
python tests/performance/benchmark_test.py
# 集成测试
python examples/full_integration_test.py
# 文档测试
# 验证所有文档链接和示例代码
4.3 正式发布
# 合并到main
git checkout main
git merge release/v1.2.0-cn
# 创建版本标签
git tag -a v1.2.0-cn -m "TradingAgents中文增强版 v1.2.0"
git push origin main --tags
# 同步到develop
git checkout develop
git merge main
git push origin develop
# 清理发布分支
python scripts/branch_manager.py delete release/v1.2.0-cn
📋 工作流检查清单
功能开发检查清单
- 需求明确: 功能需求和验收标准清晰
- 设计文档: 有详细的技术设计文档
- 分支命名: 使用规范的分支命名
- 代码质量: 通过代码风格检查
- 单元测试: 测试覆盖率达到80%以上
- 集成测试: 通过集成测试
- 文档更新: 更新相关API和使用文档
- 示例代码: 提供使用示例
- 代码审查: 至少一人审查通过
- 向后兼容: 确保向后兼容性
中文增强检查清单
- 市场适配: 适配中国金融市场特点
- 术语支持: 支持中文金融术语
- 数据源: 集成中文数据源
- 配置文件: 添加中文市场配置
- 中文文档: 完整的中文使用文档
- 示例代码: 中文市场分析示例
- 测试用例: 中文功能测试用例
- 兼容性: 与国际化功能兼容
发布检查清单
- 功能完整: 所有计划功能已实现
- 测试通过: 完整测试套件通过
- 性能验证: 性能测试达标
- 文档完整: 所有文档已更新
- 版本标记: 正确的版本号和标签
- 变更日志: 详细的变更记录
- 发布说明: 准备发布公告
- 回滚计划: 有应急回滚方案
🔧 工具和自动化
开发工具
# 分支管理
python scripts/branch_manager.py
# 上游同步
python scripts/sync_upstream.py
# 代码质量检查
black tradingagents/
flake8 tradingagents/
mypy tradingagents/
# 测试运行
python -m pytest tests/ -v --cov=tradingagents
CI/CD集成
- GitHub Actions: 自动化测试和部署
- 代码质量: 自动代码风格和质量检查
- 测试覆盖: 自动生成测试覆盖率报告
- 文档构建: 自动构建和部署文档
📞 获取帮助
文档资源
联系方式
- GitHub Issues: 提交问题
- 邮箱: hsliup@163.com
通过遵循这套标准化的开发工作流程,我们可以确保项目的高质量开发和稳定发布。