Python指南

这些Python指南(风格指南)使社区能够专注于代码的意图,并以最小的摩擦一起工作。

需要的指导方针

这些Python指南为新接触代码库并希望对其做出实际贡献的开发人员提供了上下文org: creative commons成为公司的一部分,和公司一起学习新东西。

开发环境

概述

请尽量减少开发相关技术的数量。这有助于最小化为多个项目贡献的开销。我们的大多数项目都使用Pipenv人类Python开发工作流和/或docker-compose用于定义和运行多容器Docker应用程序的工具

例子

开发工具

工具命令

执行下面描述的工具的建议顺序是:

  1. isort(更改)
  2. 黑色的(更改)
  3. flake8(问题警告)

许多Python存储库都有一个tools.sh帮助脚本按顺序执行它们:GitHub Search·org: creativcommons filename:tools.sh

处理进口(isort)

概述

Python代码中的所有导入都必须通过isort,一个用于对导入进行排序的Python实用程序/库按字母顺序,并自动分为部分和类型。它提供了一个命令行实用程序、Python库和各种编辑器的插件快速对所有导入进行排序。它需要Python 3.6+才能运行,但也支持格式化Python 2代码。

配置

有一个好的isort在creativcommons的Python项目中做贡献时应该遵循的配置。这些配置应该是pyproject.toml贴上(tools.isort)

代码格式化(黑)

概述

所有Python代码必须使用黑色的毫不妥协的Python代码格式化器.每个项目都应该包含一个pyproject.toml将行长度限制为79个字符的配置文件。

例子

风格和质量(flake8)

概述

所有Python代码都必须使用flake8一个python工具,它将pycodestyle、pyflakes、McCabe和第三方插件结合在一起,以检查一些python代码的风格和质量。

与黑人的冲突

当flake8与Black发生冲突时,应该跳过flake8检查。例如,在某些情况下,黑格式代码会生成flake8警告':'前的空格(E203)

例子

额外的指导

幸运的是,Black省去了很多风格上的工作和烦恼。如果开发人员有自由判断的空间,那么以下指南都是很好的资源: