CONTRIBUTING.md 4.3 KB

贡献指南

欢迎参与 SMF Core 项目的开发和贡献!本指南将帮助您了解如何有效地参与到项目中来。

行为准则

我们期望所有参与者遵循以下行为准则:

  • 使用友好和包容性的语言
  • 尊重不同的观点和经验
  • 优雅地接受建设性批评
  • 专注于对社区最有利的事情
  • 对其他社区成员表示同理心

如何贡献

报告 Bug

如果您发现了 bug,请在 GitHub/GitLab 的 Issue 页面创建一个新的 issue,并包括以下信息:

  • 简明扼要的标题
  • 详细的问题描述
  • 复现步骤
  • 预期行为
  • 实际行为
  • 环境信息(操作系统、Java 版本、Spring Boot 版本等)
  • 如有可能,附上日志或截图

功能请求

我们欢迎新功能的建议,请在 GitHub/GitLab 的 Issue 页面创建一个新的 issue,并包括:

  • 功能描述
  • 为什么需要这个功能
  • 可能的实现方案

提交代码

  1. Fork 仓库

    • 点击仓库页面上的 Fork 按钮
  2. 克隆仓库

    git clone https://github.com/YOUR_USERNAME/smf-core.git
    cd smf-core
    
  3. 创建分支

    git checkout -b feature/your-feature-name
    # 或者修复 bug 时
    git checkout -b bugfix/your-bugfix-name
    
  4. 安装依赖

    ./mvnw install
    
  5. 编写代码

    • 遵循项目的代码风格
    • 为新功能编写单元测试
    • 确保所有测试通过
  6. 提交更改

    git add .
    git commit -m "描述您的更改:feat/fix: 具体内容"
    

提交信息应遵循以下格式:

  • feat: 新功能描述 - 新功能
  • fix: 修复内容描述 - Bug 修复
  • docs: 文档更新描述 - 文档更改
  • style: 代码风格更新 - 不影响功能的代码风格更改
  • refactor: 重构描述 - 既不修复 bug 也不添加功能的更改
  • test: 测试更新描述 - 添加或更新测试
  • chore: 构建任务更新 - 更改构建过程或辅助工具
  1. 推送更改

    git push origin feature/your-feature-name
    
  2. 创建 Pull Request

    • 回到您的 Fork 仓库
    • 点击 "New Pull Request"
    • 选择您的分支和目标分支(通常是 develop 分支)
    • 填写 Pull Request 描述,包括:
      • 更改的内容
      • 解决的问题
      • 任何需要注意的事项

代码审查流程

  1. 提交 Pull Request 后,项目维护者将进行代码审查
  2. 您可能需要根据反馈进行一些修改
  3. 审查通过后,维护者将合并您的代码

开发规范

代码风格

  • 遵循项目中的 Checkstyle 配置(checkstyle.xml)
  • 使用 4 个空格进行缩进(不要使用制表符)
  • 类名使用 PascalCase
  • 方法名和变量名使用 camelCase
  • 常量名使用全大写,单词间用下划线分隔
  • 每个方法不超过 30 行代码
  • 避免复杂的嵌套结构(最多 3 层嵌套)

测试要求

  • 为所有新功能编写单元测试
  • 确保测试覆盖率至少达到 80%
  • 使用 JUnit 5 和 Mockito 进行测试
  • 测试方法名应清晰描述测试内容

文档要求

  • 为所有公共类和方法添加 Javadoc 注释
  • 大型更改需要更新相关文档
  • 添加适当的 README 和示例

开发环境设置

前提条件

  • JDK 11 或更高版本
  • Maven 3.6 或更高版本
  • Git
  • IDE(推荐 IntelliJ IDEA 或 Eclipse)

环境配置

  1. 克隆仓库

    git clone https://github.com/neotel/smf-core.git
    
  2. 导入到 IDE

    • IntelliJ IDEA: 选择 Import Project -> Maven
    • Eclipse: Import -> Existing Maven Projects
  3. 运行应用

    ./mvnw spring-boot:run
    

    或者在 IDE 中运行 SmfCoreApplication 类

  4. 运行测试

    ./mvnw test
    
  5. 代码质量检查

    ./mvnw verify
    

版本控制规范

我们使用 Git Flow 分支管理策略:

  • main - 生产环境稳定分支
  • develop - 开发主分支
  • feature/* - 新功能开发分支
  • bugfix/* - Bug 修复分支
  • release/* - 版本发布准备分支
  • hotfix/* - 生产环境紧急修复分支

联系方式

如果您有任何问题或需要帮助,可以通过以下方式联系我们:


感谢您对 SMF Core 项目的贡献!