Files
yexuejc-base/CONTRIBUTING.md
T
yexuejc f6f19bfc67 [P2] 完善项目文档
- 新增 CONTRIBUTING.md 贡献指南
- 新增 CODE_OF_CONDUCT.md 行为准则
- 新增 SECURITY.md 安全政策
- 重写 CHANGELOG.md 为标准格式(Keep a Changelog)
2026-04-18 15:38:32 +08:00

3.8 KiB
Raw Blame History

贡献指南

感谢您对 yexuejc-base 项目的关注!本文档将帮助您了解如何参与项目贡献。

行为准则

参与本项目即表示您同意遵守我们的 行为准则。

如何贡献

报告问题

如果您发现了 bug 或有功能建议,请通过 GitHub Issues 提交:

  1. 搜索现有 issues,避免重复提交
  2. 使用清晰的标题描述问题
  3. 提供详细的复现步骤
  4. 注明您的 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: 修复 bug
  • docs: 文档更新
  • style: 代码格式(不影响功能)
  • refactor: 重构
  • test: 测试相关
  • chore: 构建/工具相关

示例:

feat(util): 添加 MoneyUtil 支持 BigDecimal 运算

- 支持精确的四则运算
- 支持金额格式化输出
- 添加单元测试

Closes #123

Pull Request 流程

  1. Fork 本仓库
  2. 创建功能分支:git checkout -b feature/my-feature
  3. 提交更改:git commit -am 'feat: 添加新功能'
  4. 推送到远程:git push origin feature/my-feature
  5. 创建 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/         # 单元测试

添加新工具类

  1. 在 util 包下创建类
  2. 类名为 XxxUtil,提供私有构造函数
  3. 所有公共方法添加 JavaDoc
  4. 在 src/test/java 下创建对应的测试类 XxxUtilTest

安全注意事项

  • 不要提交敏感信息(密码、密钥等)
  • 加密相关代码需通过安全审查
  • 遵循 OWASP 安全编码规范

发布流程

维护者发布新版本步骤:

  1. 更新 CHANGELOG.md
  2. 更新版本号:mvn versions:set -DnewVersion=x.x.x
  3. 创建 Git Tag:git tag -a v1.x.x -m "版本说明"
  4. 推送到远程:git push origin --tags
  5. 部署到 Maven Central:mvn clean deploy -P sonatype-oss-release

获取帮助

许可证

通过提交代码,您同意将您的贡献以 MIT 许可证 授权给本项目。