# 任务完成检查清单

当完成一个开发任务时，请按以下清单逐项检查：

## 1. 代码质量检查

### 运行ESLint检查
```powershell
npm run lint
```
- ✅ 确保没有ESLint错误
- ✅ 修复所有警告（如果可能）
- ✅ 确保代码符合项目风格规范

### 代码审查要点
- ✅ 变量命名使用描述性名称（isLoading, hasError等）
- ✅ 组件使用Vue 2.7组合API + setup语法糖
- ✅ 方法和计算属性使用箭头函数
- ✅ 避免代码重复，提取可复用逻辑
- ✅ 注释使用中文编写
- ✅ 复杂逻辑有适当的注释说明

## 2. 功能测试

### 本地测试
- ✅ 在开发服务器验证功能正常：`npm run serve`
- ✅ 测试所有用户交互流程
- ✅ 验证表单验证规则
- ✅ 测试错误处理和边界情况
- ✅ 检查响应式布局（不同屏幕尺寸）

### 单元测试（如果涉及）
```powershell
npm test
```
- ✅ 为新功能编写单元测试
- ✅ 确保现有测试通过
- ✅ 测试覆盖核心业务逻辑

## 3. 性能检查

- ✅ 检查是否有不必要的重新渲染
- ✅ 大列表使用虚拟滚动或分页
- ✅ 图片和资源已优化
- ✅ 避免在computed中进行复杂计算
- ✅ 合理使用防抖和节流

## 4. 样式检查

- ✅ 样式符合设计规范
- ✅ 使用项目主题变量（theme.less）
- ✅ 检查不同主题下的显示效果
- ✅ 移动端响应式适配
- ✅ 浏览器兼容性（Chrome、Edge、Firefox）

## 5. 文档更新

- ✅ 如果是新组件，在Components.md中添加说明
- ✅ 更新相关的项目文档
- ✅ 添加代码注释和使用示例
- ✅ 更新CHANGELOG.md（重要功能）

## 6. Git提交

### 提交前检查
```powershell
# 查看修改的文件
git status

# 查看具体修改内容
git diff
```

### 提交规范
- ✅ 只提交与任务相关的文件
- ✅ 避免提交调试代码和console.log
- ✅ 提交信息清晰描述改动内容
- ✅ 使用约定式提交格式（推荐）：
  - `feat:` 新功能
  - `fix:` 修复bug
  - `docs:` 文档更新
  - `style:` 代码格式
  - `refactor:` 重构
  - `test:` 测试
  - `chore:` 构建或工具

### 提交命令
```powershell
git add .
git commit -m "feat: 添加用户管理功能"
```

## 7. 构建验证

### 生产环境构建测试
```powershell
npm run build
```
- ✅ 构建成功无错误
- ✅ 检查构建产物大小是否合理
- ✅ 验证dist目录结构正确

### 预览环境测试（可选）
```powershell
npm run build:preview
```

## 8. 配置检查（多环境项目）

如果涉及多环境配置：
- ✅ 验证gaslink环境：`npm run serve:gaslink`
- ✅ 验证revenue环境：`npm run serve:revenue`
- ✅ 验证his环境：`npm run serve:his`
- ✅ 确保API代理配置正确
- ✅ 环境变量设置正确

## 9. 低代码平台检查（如果相关）

如果涉及低代码组件：
- ✅ 组件已在低代码环境正确注册
- ✅ JSON配置格式正确且文档完善
- ✅ 在低代码编辑器中测试组件
- ✅ 验证表达式和逻辑运行器功能

## 10. 团队协作

- ✅ 通知相关团队成员关于重要改动
- ✅ 如有API变更，通知后端团队
- ✅ 如有组件变更，通知使用该组件的开发者
- ✅ 更新团队共享文档

## 11. 安全检查

- ✅ 敏感信息不直接写在代码中
- ✅ 用户输入已正确验证和过滤
- ✅ XSS和CSRF防护已考虑
- ✅ API调用使用正确的认证

## 12. 清理工作

- ✅ 删除临时文件和调试代码
- ✅ 清理未使用的导入和变量
- ✅ 删除注释掉的废弃代码
- ✅ 确保node_modules不在提交中

## 快速检查命令

```powershell
# 完整检查流程
npm run lint              # 代码检查
npm test                  # 运行测试
npm run build             # 构建验证
git status                # 查看修改
```

## 常见问题排查

### 如果ESLint失败
1. 仔细阅读错误信息
2. 运行`npm run lint`自动修复
3. 手动修复无法自动修复的错误

### 如果构建失败
1. 检查是否有语法错误
2. 确认所有导入路径正确
3. 检查是否缺少依赖包
4. 查看控制台错误详细信息

### 如果测试失败
1. 查看具体失败的测试用例
2. 检查是否破坏了现有功能
3. 更新或修复测试用例
4. 确保测试环境配置正确

## 最终确认

在推送代码前，问自己：
- ✅ 我的代码是否可读且易于维护？
- ✅ 我的改动是否会影响其他模块？
- ✅ 我是否遵循了项目的代码规范？
- ✅ 我是否进行了充分的测试？
- ✅ 我的提交信息是否清晰？

**只有所有检查项都通过后，才能推送代码！**