代码标准
Section outline
-
代码规范
文档字符串 (Docstring)
请使用 Numpydoc 风格。
持续集成 (Continuous Integration)
持续集成 (CI) 工具通过在每次你提交新 commit 时运行测试并向拉取请求 (PR) 报告结果,来帮助你遵循质量标准。
当你提交 PR 请求时,你可以在网页底部的“检查”部分查看你的代码是否通过了 CI 测试。
Qlib 会使用 black 检查代码格式。如果你的代码不符合 Qlib 的标准(例如,一个常见错误是空格和制表符混用),PR 将会报错。
你可以通过在命令行中输入以下代码来修复错误:
Shellpip 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 自动格式化。
Shellpip install -e .[dev] pre-commit install
开发指南
作为一名开发者,你经常会想对 Qlib 进行修改,并希望这些修改能直接反映在你的环境中,而无需重新安装。你可以使用以下命令以可编辑模式安装 Qlib。[dev] 选项将帮助你在开发 Qlib 时安装一些相关的包(例如 pytest, sphinx)。
pip install -e ".[dev]"