之前看了程序人生的一篇code is law,做了点小小的实践。想起在QQ群看到一个人的分享截图,于是就想将之前做的实践查到的资料删减翻译下整理成文章,如果万一有团队内部的技术分享会还是可以分享下的。
我想遵循pep8,我不想手动格式化代码,我不想每次手动执行flake8来检查,甚至我不想手动执行mypy去检查我代码。
那么有什么办法呢,作为开发,日常最常执行的操作git commit必然是其中之一,无论是通过IDE的GUI工具还是命令行的方式。
通过git提供的pre-commit的hook可以在commit的时候将代码格式化,规范检查,测试等执行完毕,而不需要工程师手动做相关的操作。流程类似这样的:
通过采用 pre-commit 这个 Python 编写的库只需要以下几步就可以完成上述任务。
pipenv install -dev pre-commit
比如你想用flak8检查代码规范,那么例子如下:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v1.2.3
hooks:
- id: flake8
repos是顶层的,每个hook都可以增加一个repo的section。
有时候我们自己的标注和pep8的略有不同,那么可以在当前目录下增加 .flake8 来告诉flake8我们自己的客制化。
[flake8] ignore = E203, E266, E501, W503, F403, F401 max-line-length = 79 max-complexity = 18 select = B,C,E,F,W,T4,B9
- 本文章原文及本文的图片来自 这里 版权归原作者所有
你的赏识是我前进的动力
转载请注明: 世界的过客 git pre-commit workflow
本篇
git pre-commit workflow
之前看了程序人生的一篇code is law,做了点小小的实践。想起在QQ群看到一个人的分享截图,于是就想将之前做的实践查到的资料删减翻译下整理成文章,如果万一有团队内部的技术分享会还是可以分享下的。 我想遵循pep8,我不想手动格式化
2019-03-06 git
下一篇
ycmd server SHUT DOWN Unexpected exit code -11
What issue?The ycmd server SHUT DOWN (restart with ‘:YcmRestartServer’). Unexpected exit code -11. Try fix./install.py -
2018-11-27 vim
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Filter Bubble
Eli Pariser / Penguin Press / 2011-5-12 / GBP 16.45
In December 2009, Google began customizing its search results for each user. Instead of giving you the most broadly popular result, Google now tries to predict what you are most likely to click on. Ac......一起来看看 《The Filter Bubble》 这本书的介绍吧!