章节大纲

  • 代码规范


    文档字符串 (Docstring)

    请使用 Numpydoc 风格

    持续集成 (Continuous Integration)

    持续集成 (CI) 工具通过在每次你提交新 commit 时运行测试并向拉取请求 (PR) 报告结果,来帮助你遵循质量标准。

    当你提交 PR 请求时,你可以在网页底部的“检查”部分查看你的代码是否通过了 CI 测试。

    Qlib 会使用 black 检查代码格式。如果你的代码不符合 Qlib 的标准(例如,一个常见错误是空格和制表符混用),PR 将会报错。

    你可以通过在命令行中输入以下代码来修复错误:

    Shell
    pip install black
    python -m black . -l 120
    

    Qlib 会使用 pylint 检查你的代码风格。检查命令在 github action workflow 中实现。有时 pylint 的限制并不那么合理。你可以像这样忽略特定的错误:

    return -ICLoss()(pred, target, index) # pylint: disable=E1130

    Qlib 会使用 flake8 检查你的代码风格。检查命令在 github action workflow 中实现。

    你可以通过在命令行中输入以下代码来修复错误:

    flake8 --ignore E501,F541,E402,F401,W503,E741,E266,E203,E302,E731,E262,F523,F821,F811,F841,E713,E265,W291,E712,E722,W293 qlib

    Qlib 集成了 pre-commit,这将使开发者更容易格式化他们的代码。

    只需运行以下两个命令,当执行 git commit 命令时,代码将使用 black 和 flake8 自动格式化。

    Shell
    pip install -e .[dev]
    pre-commit install
    

    开发指南

    作为一名开发者,你经常会想对 Qlib 进行修改,并希望这些修改能直接反映在你的环境中,而无需重新安装。你可以使用以下命令以可编辑模式安装 Qlib。[dev] 选项将帮助你在开发 Qlib 时安装一些相关的包(例如 pytest, sphinx)。

    pip install -e ".[dev]"