本文介绍两个python开发工具(flake8,black),并结合pycharm,pre-commit进行使用。
flake8
- 基于PEP8的静态代码检查工具。有助于约束团队使用统一的代码规范。
- 安装
pip install flake8
- 指定文件检查
flake8 path/code.py
- 指定目录检查
flake8 path
- 忽略指定错误
flake8 --ignore E24,W504 path
- 指定配置文件
flake8 --config path1/.flake8 path2 (linux下默认查找用户目录)
- 代码指定行忽略检查
# noqa
- 异常快速定位
配置文件模版:1
2
3
4
5
6
7
8[flake8]
ignore =
E203 # whitespace before ':'
E741 # ambiguous variable name 'l'
filename =
exclude =
max-line-length = 89
max-complexity = 10 # 指定代码最高复杂度
windows下配合pycharm使用:File->Settings->Tools->External Tools->add
black
- flake8经常会检查出代码格式上的异常,手动修改实在烦人,这时候推荐使用这款自动格式化代码神器,从此团队code review只需要关注代码业务逻辑
- 基本不需要自定义配置文件(虽然支持),相较于pylint需要各种自定义设置,black的极简哲学让我想到了iphone,”产品来告诉你你真正想要的”(产品决定需求)
- 安装
pip install black
- black –diff path/code.py
输出格式化差异
- black path/code.py
自动格式代码
(简单暴力)
windows下配合pycharm使用:File->Settings->Tools->External Tools->add
配合使用pre-commit
- 安装
pip install pre_commit
- 创建配置文件
touch .pre-commit-config.yaml
- 初始化
pre-commit install
- 垃圾回收
pre-commit gc
配置模版:1
2
3
4
5
6
7
8
9
10repos:
- repo: https://github.com/ambv/black
rev: stable
hooks:
- id: black
language_version: python3.6
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.2.3
hooks:
- id: flake8