# 海洋项目管理系统 - 团队协作规范

## 项目结构

```
ocean_project_manager/
├── backend/          # 后端程序员工作区
│   ├── src/         # 后端源代码
│   ├── tests/       # 后端测试
│   ├── docs/        # API文档
│   └── WORKSTANDARDS.md
├── frontend/         # 前端程序员工作区
│   ├── src/         # 前端源代码
│   ├── tests/       # 前端测试
│   ├── docs/        # 组件文档
│   └── WORKSTANDARDS.md
├── testing/          # 测试工程师工作区
│   ├── testcases/   # 测试用例
│   ├── reports/     # 测试报告
│   ├── scripts/     # 自动化测试脚本
│   └── WORKSTANDARDS.md
└── docs/            # 项目文档
    ├── plans/       # 设计方案
    └── ui-design-spec.md
```

## 角色职责

### 技术总监
- 审查设计和文档
- Review代码质量
- 协调团队协作
- 批准重大变更

### 后端程序员
- 负责后端API开发和维护
- 编写API文档
- 确保代码质量和测试覆盖率
- 工作目录: `backend/`

### 前端程序员
- 负责前端UI开发和维护
- 编写组件文档
- 集成后端API
- 工作目录: `frontend/`

### 测试工程师
- 编写测试计划和测试用例
- 执行功能测试、UI测试、自动化测试
- 生成测试报告和Bug报告
- 工作目录: `testing/`

## 协作流程

### 1. 需求分析阶段
- 技术总监编写设计方案
- 后端程序员和前端程序员查看设计方案
- 测试工程师编写测试计划

### 2. 开发阶段
**后端开发流程:**
1. 后端程序员开发API
2. 编写单元测试
3. 更新API文档 (`backend/docs/api.md`)
4. 提交代码审查

**前端开发流程:**
1. 前端程序员查看API文档
2. 开发UI组件
3. 集成API
4. 编写组件测试
5. 提交代码审查

### 3. 测试阶段
1. 测试工程师执行测试用例
2. 记录Bug和问题
3. 生成测试报告
4. 后端程序员和前端程序员修复Bug

### 4. 发布阶段
1. 技术总监审查代码和测试报告
2. 合并代码到主分支
3. 部署上线

## 代码审查流程

### 提交PR要求
1. 代码必须通过所有测试
2. 必须有对应文档更新
3. 提交信息符合规范
4. Pull Request描述清晰

### 审查检查项
- [ ] 代码符合规范
- [ ] 测试覆盖率达标
- [ ] 文档完整
- [ ] 无安全漏洞
- [ ] 性能可接受

## 文档要求

### 设计文档
- 存储位置: `docs/plans/`
- 包含: 需求分析、架构设计、数据库设计

### API文档
- 存储位置: `backend/docs/api.md`
- 使用OpenAPI/Swagger格式

### 测试文档
- 存储位置: `testing/docs/`
- 包含: 测试计划、测试用例、Bug报告

## 沟通机制

### 每日站会
- 各角色汇报工作进展
- 讨论遇到的问题

### 周会
- 代码审查
- 设计方案讨论
- 进度同步

### 紧急沟通
- 重大Bug立即通知技术总监
- 设计变更需要技术总监批准

## 版本管理

### 分支策略
- `main`: 生产环境
- `develop`: 开发环境
- `feature/<功能名>`: 功能分支
- `bugfix/<bug编号>`: Bug修复分支

### 提交规范
- 后端: `[backend] <类型>: <描述>`
- 前端: `[frontend] <类型>: <描述>`
- 测试: `[testing] <类型>: <描述>`

## 质量保证

### 代码质量
- 后端测试覆盖率 > 80%
- 前端关键组件必须有测试
- 代码必须通过Linter检查

### 测试质量
- 功能测试覆盖率 100%
- 关键流程必须有自动化测试
- Bug修复必须经过验证

### 文档质量
- API文档与代码同步
- 组件文档包含使用示例
- 测试用例清晰可执行
