PEP8和SciPy

所有的SciPy Python代码都应该遵守 PEP8 样式指南。由于某些PEP8违规,GitHub上的一些持续集成测试将会失败,这一点非常重要。以下是在推送代码之前确保符合PEP8的一些提示:

  • 许多集成开发环境(IDE)都有自动检查PEP8遵从性的选项。例如,在斯派德, enable Real-time code style analysis 在工具中 → 首选项 → 编辑 → 工具中的代码自检/分析和“保存文件时自动删除尾随空格” → 首选项 → 编辑 → 高级设置。这可以帮助您在编写代码时修复PEP8问题。

  • SciPy使用特殊的配置文件与 flake8 工具。

  • 通常建议不要考虑任何现有的样式问题,除非它们是您已经修改的代码的一部分。这种做法可以确保逐步清理代码库,而不会将宝贵的审阅时间专门用于仅样式清理。在发送Pull请求之前,我们建议只对您在Feature分支中所做的更改运行LINT测试。这将模拟在GitHub上设置的持续集成LINTING检查。安装后 flake8 ,您可以在本地的SciPy根目录中运行以下检查,以确保您的拉取请求不会中断持续集成linting测试。

    python tools/lint_diff.py
    

    如果只想对特定文件或目录运行基于diff的lint测试,请考虑使用 --files 选项。

    python tools/lint_diff.py --files scipy/odr/models.py scipy/ndimage
    
  • 如果您的现有代码有很多PEP8问题,请考虑使用 autopep8 在将代码合并到SciPy之前自动修复它们。