贡献指南
我们十分感谢您愿意为这个项目付出宝贵的热情和时间。为了能够让它们产生尽可能多的价值,希望您在提交贡献前,仔细阅读这一份贡献指南。 以下这份列表包含了您可能能够帮到这个项目的事项(不分先后顺序):
- 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的描述中阐述没有覆盖的场景。
文档
如果您想要改善我们的文档,请移步