Files
aijianhua/docs/CONTRIBUTING.md

3.3 KiB
Raw Permalink Blame History

贡献指南

欢迎参与爱鉴花项目的开发!本文档将指导您如何为项目做出贡献。

🎯 开发流程

1. 环境准备

  • 确保已安装 Node.js 16.0.0+
  • 安装 Git 版本控制工具
  • 配置开发工具HBuilderX、VSCode等

2. 获取代码

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. 第三步

## 预期行为
期望的正常表现

## 实际行为
实际发生的异常表现

## 环境信息
- 操作系统: 
- 浏览器: 
- 版本: 

功能请求格式

## 功能描述
详细描述请求的功能

## 使用场景
在什么情况下需要这个功能

## 解决方案建议
如果有的话,提供实现建议

## 附加信息
任何其他相关信息

🤝 行为准则

  • 尊重其他贡献者
  • 建设性的代码审查
  • 及时响应问题和请求
  • 遵守开源协议

📞 联系方式

如有问题可以通过以下方式联系:

感谢您的贡献!🎉