Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 1.71 KB

contribution.md

File metadata and controls

32 lines (22 loc) · 1.71 KB

贡献指南

我们欢迎任何人一起参与开发这个开源框架!

开发环境准备

我们默认你已经安装好了 Go(>=1.18) 环境。并且因为我们依赖于 shell 和 linux 命令,所以对于 Windows 开发者来说,我们建议使用 WSL 作为开发环境。

IDE 则是建议使用 Goland,当然 vscode 也是可以。

在将仓库 git clone 到本地之后,在仓库根目录下执行:

make setup

等待执行成功。

在国内的开发者容易遇到网络问题,所以如果在执行过程中遇到问题,可以尝试开启 VPN 之后再执行一遍。

设计文档

每一个重大需求,我们要求你提供技术设计文档。设计文档可以参考技术设计文档模板

合并请求

一个合并请求应该符合以下标准,否则我们是不会接受的:

  • 确保自己的合并请求能够通过所有的 github action 检测,包括但不限于代码质量、测试覆盖率等;
  • 公开方法、类型都必须要有注释,并且提供例子(可以参考已有的例子学习如何撰写例子)
  • 公开方法、类型必须有足够的测试。足够的测试要综合考虑:场景、代码覆盖率;
  • 核心路径必须有 benchmark 测试。如果已有 benchmark 测试,那么性能变化应该在可接受范围内;
  • 部分方法需要提供 fuzzing 测试。我们会在 review 你的合并请求的时候,如果发现需要 fuzzing 测试,会告诉你的;
  • 一个合并请求只能有一个 Commit ID;
  • 我们使用 uber 的代码风格,你需要事先阅读这个文档;