跳到主要内容

贡献指南

我们十分感谢您愿意为这个项目付出宝贵的热情和时间。为了能够让它们产生尽可能多的价值,希望您在提交贡献前,仔细阅读这一份贡献指南。 以下这份列表包含了您可能能够帮到这个项目的事项(不分先后顺序):

  • Bug报告
  • Bug修复
  • 代码质量
  • 功能特性(包括新的集成)
  • 测试
  • 文档

让我们一起让这个项目变得更加实用!

如何贡献代码改动

  • 从我们的仓库Fork出来,并且创建一个名称意义明确的分支
  • 最小化PR原则:一个PR里尽量只涉及同一个改动
  • 请为你的改动增加或者更新相关测试
  • 每一个Commit的Message请简洁明了,一个PR中不要包含过多的Commit
  • 在提交PR前,请确保所有的测试通过
  • 请确保已经解决了所有合并冲突
  • 在Github的UI界面提交一个Pull Request(PR)

Bug报告

如果您要提交一个Bug报告,那么您需要提交一个Issue

Issue的标题请简要描述这个Bug,而不是简单的“Bug”,或者“There is a bug”。 在Issue的描述中,需要包含Bug的具体信息,包括:

  • 这个Bug的表现是什么
  • 这个Bug最简单的重现

如果您已经有对这个Bug做出了一定的分析,不妨大胆地写下来。

Bug修复

进一步的,如果您能够修复一个Bug,可以在Github的UI界面提交一个PR。 在这个PR中,您需要关联一个Bug的Issue。 如果没有相关的Issue,需要将Bug的具体信息写在PR的描述里。

除了上面提到的Issue中本来需要的信息之外,PR的描述还需要包含:

  • 您是如何分析并找到代码中Bug发生的位置
  • 您此次提交中的代码改动做了一件什么样的事情

代码质量

代码质量的改动一般包括:

  • 增加或者更新注释
  • 修复拼写错误
  • 优化变量、函数、类的命名
  • 其它不涉及代码逻辑的改动

这些改动最好能够放到同一个PR中。

更好的代码质量能帮助社区的贡献者们更好的理解代码,从而高效地参与到项目中。

功能特性

在您开始做一个新的功能特性(包括新的集成)前,请先提交一个Issue,并且在Issue中清晰的描述这个功能特性。这样做的好处:

  • 在提交Issue前可以搜索历史Issue是否已经有人做了这件事
  • 让其它贡献者参与讨论这个功能特性的意义
  • 吸引有兴趣的其它贡献者参与进来,一起与您完善这个新功能特性
  • 如果这个功能特性在论证中存在一定的问题,可以提前识别(而不是等代码改动完成后才发现),节省您宝贵的时间

在Issue中讨论完成后,您就可以开始新功能特性的开发工作了。 开发完成后,请您在Github的UI界面提交一个PR,并且关联Issue。

测试

如果我们项目中有一些测试点没有覆盖,您可以提交补充测试的PR,并且在PR的描述中阐述没有覆盖的场景。

文档

如果您想要改善我们的文档,请移步