Files
aijianhua/docs/CONTRIBUTING.md

171 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# 贡献指南
欢迎参与爱鉴花项目的开发!本文档将指导您如何为项目做出贡献。
## 🎯 开发流程
### 1. 环境准备
- 确保已安装 Node.js 16.0.0+
- 安装 Git 版本控制工具
- 配置开发工具HBuilderX、VSCode等
### 2. 获取代码
```bash
git clone https://github.com/your-username/aijianhua.git
cd aijianhua
```
### 3. 分支管理
我们使用 Git Flow 工作流:
- `main` - 主分支,用于生产环境
- `develop` - 开发分支,集成所有功能
- `feature/*` - 功能开发分支
- `bugfix/*` - bug修复分支
- `release/*` - 发布分支
### 4. 开发步骤
1.`develop` 分支创建功能分支
2. 在分支上开发新功能或修复bug
3. 提交代码并推送到远程仓库
4. 创建 Pull Request 到 `develop` 分支
5. 代码审查通过后合并
## 📝 代码规范
### JavaScript/TypeScript
- 使用 ESLint + Prettier 进行代码格式化
- 遵循 Airbnb JavaScript 风格指南
- 使用 async/await 代替回调函数
- 添加必要的注释和文档
### Vue/uni-app
- 使用 Composition API
- 组件命名使用 PascalCase
- Props 定义使用 TypeScript 类型
- 使用 Vue Router 进行路由管理
### Node.js
- 使用 Express.js 框架
- 中间件使用统一的错误处理
- API 响应格式标准化
- 使用 Winston 进行日志记录
## 🔧 提交规范
### Commit Message 格式
```
<type>(<scope>): <subject>
<body>
<footer>
```
### Type 类型
- `feat`: 新功能
- `fix`: bug修复
- `docs`: 文档更新
- `style`: 代码格式调整
- `refactor`: 代码重构
- `test`: 测试相关
- `chore`: 构建过程或辅助工具变动
### 示例
```
feat(user): 添加用户注册功能
- 实现用户注册API接口
- 添加手机号验证功能
- 完善错误处理机制
Closes #123
```
## 🧪 测试要求
### 单元测试
- 后端API接口需要编写单元测试
- 测试覆盖率要求达到80%以上
- 使用 Jest 测试框架
### 集成测试
- 主要业务流程需要集成测试
- 测试数据库操作和API调用
- 模拟各种边界情况
### E2E测试
- 关键用户流程需要端到端测试
- 使用 Cypress 或 Puppeteer
- 覆盖主要业务场景
## 📖 文档要求
### 代码注释
- 公共方法和复杂逻辑需要添加注释
- 使用 JSDoc 格式注释
- 注释说明参数、返回值、异常情况
### API文档
- 使用 Swagger/OpenAPI 规范
- 文档需要与代码同步更新
- 包含请求示例和响应示例
### 项目文档
- README 文件需要保持最新
- 添加必要的配置说明
- 更新部署和运维指南
## 🐛 Issue 报告
### Bug报告格式
```
## 问题描述
清晰描述遇到的问题
## 重现步骤
1. 第一步
2. 第二步
3. 第三步
## 预期行为
期望的正常表现
## 实际行为
实际发生的异常表现
## 环境信息
- 操作系统:
- 浏览器:
- 版本:
```
### 功能请求格式
```
## 功能描述
详细描述请求的功能
## 使用场景
在什么情况下需要这个功能
## 解决方案建议
如果有的话,提供实现建议
## 附加信息
任何其他相关信息
```
## 🤝 行为准则
- 尊重其他贡献者
- 建设性的代码审查
- 及时响应问题和请求
- 遵守开源协议
## 📞 联系方式
如有问题可以通过以下方式联系:
- GitHub Issues
- 项目邮箱: aijianhua@example.com
- 开发者微信群
感谢您的贡献!🎉