Skip to content

贡献指南

感谢你对 LCGYL Framework 的关注!本文档将帮助你参与贡献。

贡献方式

🐛 报告 Bug

  1. Gitee Issues 搜索是否已存在相同问题
  2. 如果没有,创建新 Issue
  3. 使用 Bug 报告模板,提供:
    • 问题描述
    • 复现步骤
    • 期望行为
    • 实际行为
    • 环境信息(JDK 版本、OS 等)

💡 提交建议

  1. 在 Issues 中使用「功能建议」模板
  2. 描述你的使用场景
  3. 说明期望的功能

📝 改进文档

  1. Fork 仓库
  2. 修改 frontend/docs/ 下的文档
  3. 提交 Pull Request

🔧 提交代码

  1. Fork 仓库到你的账号
  2. 克隆到本地
  3. 创建功能分支
  4. 编写代码和测试
  5. 提交 Pull Request

开发环境

前置要求

  • JDK 21+
  • Gradle 8.5+
  • Git

克隆仓库

bash
git clone https://gitee.com/lcgyl/lcgyl-framework.git
cd lcgyl-framework

构建项目

bash
./gradlew build

运行测试

bash
./gradlew test

代码规范

命名规范

类型规范示例
类名大驼峰UserService
方法名小驼峰findById
常量全大写下划线MAX_SIZE
包名全小写com.lcgyl.framework

代码风格

  • 遵循 Google Java Style Guide
  • 缩进:4 个空格
  • 每行最多 120 字符
  • 使用有意义的变量名

JavaDoc

所有公共 API 必须有 JavaDoc:

java
/**
 * 根据 ID 查找用户
 *
 * @param id 用户 ID
 * @return 用户对象,如果不存在返回 null
 * @throws IllegalArgumentException 如果 id 为 null
 */
public User findById(Long id) {
    // ...
}

提交规范

Commit Message 格式

<type>: <subject>

[body]

[footer]

Type 类型

类型说明
feat新功能
fixBug 修复
docs文档更新
refactor重构
test测试相关
chore构建/工具

示例

feat: 新增用户缓存功能

- 添加 UserCache 类
- 集成 Caffeine 缓存
- 支持 TTL 配置

Closes #123

分支规范

分支用途
main稳定版本
develop开发分支
feature/*功能分支
fix/*修复分支
release/*发布分支

工作流程

main ←── release ←── develop ←── feature

                        fix

Pull Request

提交前检查

  • [ ] 代码通过所有测试
  • [ ] 新功能有对应测试
  • [ ] 代码符合规范
  • [ ] 更新了相关文档
  • [ ] Commit Message 规范

PR 描述模板

markdown
## 变更说明

简要描述本次变更

## 变更类型

- [ ] 新功能
- [ ] Bug 修复
- [ ] 重构
- [ ] 文档更新

## 测试

描述如何测试这些变更

## 相关 Issue

Closes #xxx

社区

行为准则

  • 尊重所有贡献者
  • 使用友善的语言
  • 接受建设性批评
  • 专注于对社区最有利的事情

再次感谢你的贡献!🎉

Released under the Apache License 2.0