CONTRIBUTING.md
4.3 KB
贡献指南
欢迎参与 SMF Core 项目的开发和贡献!本指南将帮助您了解如何有效地参与到项目中来。
行为准则
我们期望所有参与者遵循以下行为准则:
- 使用友好和包容性的语言
- 尊重不同的观点和经验
- 优雅地接受建设性批评
- 专注于对社区最有利的事情
- 对其他社区成员表示同理心
如何贡献
报告 Bug
如果您发现了 bug,请在 GitHub/GitLab 的 Issue 页面创建一个新的 issue,并包括以下信息:
- 简明扼要的标题
- 详细的问题描述
- 复现步骤
- 预期行为
- 实际行为
- 环境信息(操作系统、Java 版本、Spring Boot 版本等)
- 如有可能,附上日志或截图
功能请求
我们欢迎新功能的建议,请在 GitHub/GitLab 的 Issue 页面创建一个新的 issue,并包括:
- 功能描述
- 为什么需要这个功能
- 可能的实现方案
提交代码
-
Fork 仓库
- 点击仓库页面上的 Fork 按钮
-
克隆仓库
git clone https://github.com/YOUR_USERNAME/smf-core.git cd smf-core -
创建分支
git checkout -b feature/your-feature-name # 或者修复 bug 时 git checkout -b bugfix/your-bugfix-name -
安装依赖
./mvnw install -
编写代码
- 遵循项目的代码风格
- 为新功能编写单元测试
- 确保所有测试通过
-
提交更改
git add . git commit -m "描述您的更改:feat/fix: 具体内容"
提交信息应遵循以下格式:
-
feat: 新功能描述- 新功能 -
fix: 修复内容描述- Bug 修复 -
docs: 文档更新描述- 文档更改 -
style: 代码风格更新- 不影响功能的代码风格更改 -
refactor: 重构描述- 既不修复 bug 也不添加功能的更改 -
test: 测试更新描述- 添加或更新测试 -
chore: 构建任务更新- 更改构建过程或辅助工具
-
推送更改
git push origin feature/your-feature-name -
创建 Pull Request
- 回到您的 Fork 仓库
- 点击 "New Pull Request"
- 选择您的分支和目标分支(通常是 develop 分支)
- 填写 Pull Request 描述,包括:
- 更改的内容
- 解决的问题
- 任何需要注意的事项
代码审查流程
- 提交 Pull Request 后,项目维护者将进行代码审查
- 您可能需要根据反馈进行一些修改
- 审查通过后,维护者将合并您的代码
开发规范
代码风格
- 遵循项目中的 Checkstyle 配置(checkstyle.xml)
- 使用 4 个空格进行缩进(不要使用制表符)
- 类名使用 PascalCase
- 方法名和变量名使用 camelCase
- 常量名使用全大写,单词间用下划线分隔
- 每个方法不超过 30 行代码
- 避免复杂的嵌套结构(最多 3 层嵌套)
测试要求
- 为所有新功能编写单元测试
- 确保测试覆盖率至少达到 80%
- 使用 JUnit 5 和 Mockito 进行测试
- 测试方法名应清晰描述测试内容
文档要求
- 为所有公共类和方法添加 Javadoc 注释
- 大型更改需要更新相关文档
- 添加适当的 README 和示例
开发环境设置
前提条件
- JDK 11 或更高版本
- Maven 3.6 或更高版本
- Git
- IDE(推荐 IntelliJ IDEA 或 Eclipse)
环境配置
-
克隆仓库
git clone https://github.com/neotel/smf-core.git -
导入到 IDE
- IntelliJ IDEA: 选择 Import Project -> Maven
- Eclipse: Import -> Existing Maven Projects
-
运行应用
./mvnw spring-boot:run或者在 IDE 中运行 SmfCoreApplication 类
-
运行测试
./mvnw test -
代码质量检查
./mvnw verify
版本控制规范
我们使用 Git Flow 分支管理策略:
-
main- 生产环境稳定分支 -
develop- 开发主分支 -
feature/*- 新功能开发分支 -
bugfix/*- Bug 修复分支 -
release/*- 版本发布准备分支 -
hotfix/*- 生产环境紧急修复分支
联系方式
如果您有任何问题或需要帮助,可以通过以下方式联系我们:
- 项目 Issue 页面
- 电子邮件:support@neotel.com
感谢您对 SMF Core 项目的贡献!