代码标准
文档字符串
请使用 Numpydoc 风格.
持续集成
持续集成 (CI) 工具帮助您通过在每次推送新提交时运行测试并将结果报告到拉取请求中来遵循质量标准。
当您提交 PR 请求时,您可以在网页底部的 "检查" 部分查看您的代码是否通过了 CI 测试。
Qlib 将使用 black 检查代码格式。如果您的代码不符合 Qlib 的标准(例如,常见错误是混合使用空格和制表符),则 PR 将引发错误。
您可以通过在命令行中输入以下代码来修复错误。
pip install black
python -m black . -l 120
Qlib 将使用 pylint 检查您的代码风格。检查命令在 [github action workflow](https://github.com/microsoft/qlib/blob/0e8b94a552f1c457cfa6cd2c1bb3b87ebb3fb279/.github/workflows/test.yml#L66) 中实现。有时 pylint 的限制并不合理。您可以像这样忽略特定错误
return -ICLoss()(pred, target, index) # pylint: disable=E1130
Qlib 将使用 flake8 检查您的代码风格。检查命令在 [github action workflow](https://github.com/microsoft/qlib/blob/0e8b94a552f1c457cfa6cd2c1bb3b87ebb3fb279/.github/workflows/test.yml#L73) 中实现。
您可以通过在命令行中输入以下代码来修复错误。
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 自动格式化。
pip install -e .[dev]
pre-commit install
开发指导
作为开发人员,您通常希望对 Qlib 进行更改,并希望它能直接反映在您的环境中,而无需重新安装。您可以使用以下命令以可编辑模式安装 Qlib。[dev] 选项将帮助您在开发 Qlib 时安装一些相关包(例如 pytest, sphinx)。
pip install -e ".[dev]"