mirror of
https://gitee.com/jzsw-it/yexuejc-base.git
synced 2026-10-25 17:20:19 +08:00
- 新增 CONTRIBUTING.md 贡献指南 - 新增 CODE_OF_CONDUCT.md 行为准则 - 新增 SECURITY.md 安全政策 - 重写 CHANGELOG.md 为标准格式(Keep a Changelog)
3.8 KiB
3.8 KiB
贡献指南
感谢您对 yexuejc-base 项目的关注!本文档将帮助您了解如何参与项目贡献。
行为准则
参与本项目即表示您同意遵守我们的 行为准则。
如何贡献
报告问题
如果您发现了 bug 或有功能建议,请通过 GitHub Issues 提交:
- 搜索现有 issues,避免重复提交
- 使用清晰的标题描述问题
- 提供详细的复现步骤
- 注明您的 Java 版本和操作系统
提交代码
开发环境准备
# 克隆仓库
git clone https://github.com/yexuejc/yexuejc-base.git
cd yexuejc-base
# 切换到目标分支(根据 Java 版本选择)
git checkout jre21 # 或 jre11, jre8
# 编译项目
mvn clean compile
# 运行测试
mvn test
分支策略
| 分支 | 说明 | Java 版本 |
|---|---|---|
master |
主分支,与 jre21 保持同步 | Java 21 |
jre21 |
Java 21 特性分支 | Java 21 |
jre17 |
Java 17 特性分支 | Java 17 |
jre11 |
Java 11 特性分支 | Java 11 |
jre8 |
Java 8 特性分支 | Java 8 |
注意:功能开发请在 jre21 分支进行,修复会同步到其他分支。
代码规范
- 遵循 Google Java Style Guide
- 所有公共方法必须包含 JavaDoc
- 单元测试覆盖率不低于 60%
- 通过 Checkstyle 和 PMD 检查:
mvn verify
提交规范
提交信息格式:
<type>(<scope>): <subject>
<body>
<footer>
类型(type):
feat: 新功能fix: 修复 bugdocs: 文档更新style: 代码格式(不影响功能)refactor: 重构test: 测试相关chore: 构建/工具相关
示例:
feat(util): 添加 MoneyUtil 支持 BigDecimal 运算
- 支持精确的四则运算
- 支持金额格式化输出
- 添加单元测试
Closes #123
Pull Request 流程
- Fork 本仓库
- 创建功能分支:
git checkout -b feature/my-feature - 提交更改:
git commit -am 'feat: 添加新功能' - 推送到远程:
git push origin feature/my-feature - 创建 Pull Request 到
jre21分支
代码审查
所有提交都需要通过以下检查:
- 单元测试通过:
mvn test - 代码覆盖率 >= 60%:
mvn jacoco:check - Checkstyle 检查:
mvn checkstyle:check - PMD 静态分析:
mvn pmd:check
开发指南
项目结构
src/
├── main/java/com/yexuejc/base/
│ ├── constant/ # 常量定义
│ ├── converter/ # 类型转换器
│ ├── encrypt/ # 加密算法(AES/RSA/DES3)
│ ├── file/ # 文件操作(CSV/Excel/Zip)
│ ├── http/ # HTTP 相关
│ ├── pojo/ # 数据对象
│ └── util/ # 工具类
└── test/java/ # 单元测试
添加新工具类
- 在
util包下创建类 - 类名为
XxxUtil,提供私有构造函数 - 所有公共方法添加 JavaDoc
- 在
src/test/java下创建对应的测试类XxxUtilTest
安全注意事项
- 不要提交敏感信息(密码、密钥等)
- 加密相关代码需通过安全审查
- 遵循 OWASP 安全编码规范
发布流程
维护者发布新版本步骤:
- 更新
CHANGELOG.md - 更新版本号:
mvn versions:set -DnewVersion=x.x.x - 创建 Git Tag:
git tag -a v1.x.x -m "版本说明" - 推送到远程:
git push origin --tags - 部署到 Maven Central:
mvn clean deploy -P sonatype-oss-release
获取帮助
- 查看 WIKI 了解详细用法
- 在 Discussions 提问
- 发送邮件至:yexuejc@gmail.com
许可证
通过提交代码,您同意将您的贡献以 MIT 许可证 授权给本项目。