贡献代码
如何做出贡献?
报告问题
在提交问题报告时,请提供清晰的问题描述和您的工作环境信息。您可以使用bug提交模板以便在您的描述中包括以下部分:
你期望看到的结果:描述你在遇到问题时想要实现的目标或期望看到的结果
具体代码:提供你认为可以得到期望结果的代码
实际结果:描述你实际得到的结果,包括错误信息
工作环境:告诉我你的机器、操作系统和依赖包的版本
系统配置:打印出你的qteasy配置和本地数据源概览
重现方法:尽量提供可以让我重现问题的例子,以便找出问题的根本原因
提供示例和改进文档
我尤其希望并感谢您帮助我提供更多的使用示例、或帮助我改进项目文档,例如:
编写示例交易策略
分享批处理代码片段
分享可视化图表
纠正文档中的错误
请按照下面的Fork/Clone/Pull Request工作流程提供您的贡献,我会尽快给予反馈。
分支/克隆/合并请求工作流程
GitHub上的标准贡献工作流程称为Fork/Clone (分支/克隆)。对于那些可能不熟悉的人,这里是一个简要的总结和一些参考链接。
我们假设您熟悉git的基础知识:
git clone、git commit等。
注意:一个“Fork(分支)”只是一个在GitHub上创建的
git clone,它保存在GitHub上您自己的账户中。您可以使用GitHub上的Fork按钮创建一个Fork:这样GitHub就可以跟踪原始github存储库和您的Fork之间的关系。基本工作流程如下:
创建一个Fork(分支),这个分支将存在于您的github账户中。
将您的Fork分支克隆到本地机器上(
git clone)。修改您本地的代码,用
git commit提交更改,然后将更改**git push**到您的GitHub Fork中。当您对Fork中的代码满意时,在您的Fork的GitHub页面上,打开一个Pull Request (PR)。Pull Request实际上是请求将您Fork中的更改合并到主qteasy存储库中。PR提供了一个地方,可以在GitHub上查看更改,并发布关于它们的评论和讨论。
经过代码审查后,如果维护者要求您进行额外的更改,您不需要重新提交另一个Pull Request(只要原始PR仍然是打开状态)。相反,您可以在本地克隆中进行更改,然后再次
git push到您的Fork中。更改将自动流入打开的Pull Request中。完成上述步骤后,
qteasy的维护者将从您的Fork中合并更改到qteasy存储库中。PR将自动关闭。(但是您的Fork将继续存在,并且可以在将来再次用于其他Pull Request;请参阅GitHub文档,了解如何保持您的Fork最新)。
一些参考资料:
GitHub文档:
https://docs.github.com/en/get-started/quickstart/contributing-to-projects
一些用户的gists:
https://gist.github.com/Chaser324/ce0505fbed06b947d962
https://gist.github.com/rjdmoore/ed014fba0ee2c7e75060ccd01b726cb8
编码规范
我并不非常严格地要求遵守PEP-8的每一条规则,但也不是完全放任不管。我倾向于走中间道路:只要是大家普遍遵守的规范和常见的编码习惯,我都可以接受。
以下是我可能会特别关心的一些事项:
如果您编写代码,请不要使用制表符进行缩进,使用4个空格。
如果您编写代码,请始终提供清晰简洁的注释,解释代码的作用。这对于功能不太明显的代码尤为重要。
如果您添加了一个重要的功能(即,需要解释其用法的功能不仅仅是几句话),请为该功能创建一个“功能教程”。有关功能教程的示例,请参见示例文件夹中的文件
如果您添加了一个重要的功能,请在**tests文件夹**中创建一个回归测试文件,类似于那里的其他回归测试文件。通常,最简单的方法是从该功能的“功能教程”中选取一些示例(参见上一点)。
如果您要修改一个已有的代码文件,请尽量模仿该文件中已有的代码风格。