Skip to content

Latest commit

 

History

History
65 lines (53 loc) · 2.69 KB

CONTRIBUTING.md

File metadata and controls

65 lines (53 loc) · 2.69 KB

Contributing to Engine

代码规范

本项目代码规范基于Google Java 编程风格指南

此外仍需遵守以下规范:

  1. 对于文件路径,谨慎使用File,应使用PathURL
  2. 当方法参数可能为null时,应添加@javax.annotation.Nullable注解。
  3. 当方法返回值可能为null时,应使用Optional作为返回值。
  4. 当方法参数、返回值不可能为null时,应添加@javax.annotation.Nonnull,并使用Validate.notNull()检查参数值。
  5. 任何确认为线程安全的类或认为必须为线程安全的类需注解为@ThreadSafe
  6. 当方法使用JOML库的向量或矩阵类时,除非需要修改传入参数,否则应当使用其接口(即后带c的类型,如Vector3fcMatrix4fc)作为传入类型。
  7. 文件夹、目录和包名名称以单数形式命名。
  8. 串行的场景下迭代时,谨慎使用Stream-API。

Commit 消息规范

Commit 消息格式

每一条提交消息由标头详情结尾组成。其中标头具有特殊格式,包含类型范围主题

<类型>(<范围>): <主题>
<空行>
<详情>
<空行>
<结尾>

标头必写的,标头中的范围是选写的。

Commit消息中的任一行都不应超过100个字符!这可以使Commit消息在Github和各种Git更易阅读。

结尾应包含一个issue的关闭引用(如果有的话)

例如:

docs(README): update README
feat(Mod): support to load mod in development environment

类型

必须是下述类型之一:

  • build: 构建过程或辅助工具的变动
  • docs: 文档的更改
  • feat: 添加一个新特性
  • fix: 修复一个bug
  • perf: 提高性能的更改
  • refactor: 重构
  • style: 不影响代码的更改(空格, 格式化等)
  • test: 添加测试

主题

主题包含了对更改的简洁描述:

  • 使用祈使句,现在时:“change”而不是“changed”也不是“changes”。
  • 不要大写第一个字符
  • 结尾没有句号(.)

详情

和主题中的一样,使用祈使句,现在时:“change”而不是“changed”也不是“changes”。详情应该包含更改的原因,和其与此前的对比。

结尾

结尾可包含issue的关闭引用或破坏性更改的详细信息。

Revert

如果要恢复以前的Commit,则其标头应由revert:开头,后接标头的主题。在详情中应写This reverts commit <hash>.,其中hash是要还原的commit的SHA。