首先 pre-commit 做不到什么 并不能提高你的代码质量 也不能提高你的逻辑思维能力 pre-commit 能做什么 帮助你格式化代码 减少再代码格式上的信仰冲突 节省更多的时间,讨论逻辑…
pre-commit优缺点
缺点
优点
- 帮助你格式化代码
- 减少再代码格式上的信仰冲突
- 节省更多的时间,讨论逻辑,优化算法。
安装
pip install pre-commit
pip freeze | grep pre-commit >> requiremests.txt
配置 pre-commit
在你的项目目录下创建一个 .pre-commit-config.yaml 文件
repos:
- repo: https://github.com/ambv/black
rev: stable
hooks:
- id: black
language_version: python3.7
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
hooks:
- id: flake8
添加以上配置在 .pre-commit-config.yaml 中
这里使用了 black 和 flake8 格式化你的代码,当然还有其他很多插件。 > 比如: isort
配置 black
在你的项目下, 创建 pyproject.toml 文件
[tool.black]
line-length = 79
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| __pycache__
| build
| dist
)/
'''
配置 flake8
在你的项目下, 创建 .flake8 文件
[flake8]
ignore = E203, E231, E266, E501, W503, F403, F405, F401
exclude =
.git,
__pycache__,
build,
dist
max-line-length = 79
max-complexity = 18
select = B,C,E,F,W,T4,B9
安装 git-commit-hook
pre-commit install
运行 pre-commit
pre-commit run -a
|