• 贡献代码
    • 创建PR
    • 代码风格
      • 命名规则
      • 代码格式
      • 代码质量检查

    贡献代码


    创建PR

    我们欢迎任何人贡献代码到vn.py。如果希望贡献代码请使用github的PR(Pull Request)的流程。

    PR流程大致如下:


    • 创建 Issue - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下, 较小的improvement(如文档改进,bugfix等)直接发PR即可

    • Fork [vn.py][#GithubVnpy] - 点击右上角Fork按钮

    • Clone你自己的fork: git clone https://github.com/$userid/vnpy.git

    如果你的fork已经过时,需要手动sync

    • dev创建你自己的branch: git checkout -b $my_feature_branch dev

    • 在$my_feature_branch上修改并将修改push到你Fork之后的仓库上

    • 创建从你的fork的$my_feature_branch分支到主项目的dev分支的[Pull Request]:点开这里 ,再点击compare across forks,选择需要的fork和branch创建PR


    创建完PR之后请耐心等待:我们一旦有空就会检查PR,一旦你的代码有用且符合要求,就会被合并!


    代码风格

    在为vn.py写代码的时候,需要遵循一些基本的规则,否则你的代码可能无法被merge。这些规则包括:

    • 命名规则
    • 代码格式
    • 代码质量检查

    命名规则

    我们的代码的命名规则如下:

    • 类属性、类方法、参数和变量使用小写加下划线的形式
    • 类名使用驼峰式命名
    • 常量使用大写加下划线的形式 例如:
    1. DEFAULT_PATH = "/tmp/vn.py/"
    2. class ClassA:
    3. def __init__(self, arg_one: int, arg_two: str):
    4. if arg_two is None:
    5. arg_two = DEFAULT_PATH
    6. self.property_one = arg_one
    7. variable_one = "some string"

    代码格式

    我们对代码格式没有特别严格的要求,但是至少要符合pep8标准,并且额外要在类和所有函数下面带上docstring(就是一段””””””)。

    要让代码符合pep8标准,写完代码之后使用autopep8格式化你的代码就可以了:

    1. autopep8 --in-place --recursive .

    代码质量检查

    使用flake8检查你的代码,确保没有error和warning。在项目根目录下运行flake8就可以检查出代码中书写不严谨的地方了。如果检查出error或者warning,说明你的代码需要进行一些修改以提升质量。