这是本文的目录
- 前言
- 1.Black
- 2.flake8
- 3.eradicate
- 4.pre-commit
- 5.mypy
前言
编写漂亮的Python比看起来难。但是作为发布工作流程的一部分,可以使用以下工具使代码可显示并消除可避免的错误。关键他们还是免费且易于使用的。
1.Black
在#1,我们有Black。Black:是一个毫不妥协的Python代码重整工具。它将确保您的代码符合PEP8建议。
您可以使用pip3MRe中获取Bk
pip3 install -upgrade --user black
Black具有丰富的选项,请使用黑色-h打印帮助文本。
black -t py38–check
Black output
要使文件修复为黑色,请在运行黑色时删除一检查选项。
2.flake8
flake8 集合了PyFlakes、pycodestyle、McCabe,它们的功能依次是检测代码语法错误和变量名未定义或者使用等、代码格式是否符合PEP8规范、代码中函数的圈复杂度。
McCabe检测的圈复杂度你可能不知道表示什么,简单说就是代码难不难理解(它是根据函数的控制流程图来计算的,具体介绍大家感兴趣可以浏览器查查)。
3.eradicate
eradicate是一种方便的工具,用于查找注释掉的代码块,排在第二位。你可能不再需要它们了!
我们可以使用pip3从pypi根除:
pip3 install -upgrade -user eradicate
消除的选项很少,请使用消除-h打印帮助文本。
eradicate
4.pre-commit
这几个包里,最喜欢的是pre-commit,通过在github仓库项目根目录设置个配置文件.pre-commit-config.yaml就能自动在提交代码(git commit)前先自动执行配置文件中配置的脚本,比如前面说的代码格式规范,如果发现问题就会终止提交,并输出问题。
.pre-commit-config.yaml一般结构:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 21.12b0
hooks:
- id: black
更多配置介绍可以查看@pre-commit.com/#pre-commit-configyaml—hooks
5.mypy
mypy是一个静态类型检查工具,会根据代码中的类型注解对代码进行类型检查并查找常见错误。也是一个非常实用的包。
其实我们自己平时写Python代码是很少写类型注解的,因为会比较麻烦需要额外多做事,但是和类型注解所带来的诸多好处相比是完全值得的”
而且类型注解,对于大型项目来说更是重要,完善的类型注解可以让伙伴更好地阅读理解代码,也更方便代码的重构或者修改。