之前看了程序人生的一篇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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Twisted Network Programming Essentials
Abe Fettig / O'Reilly Media, Inc. / 2005-10-20 / USD 29.95
Developing With Python's Event-driven Framework一起来看看 《Twisted Network Programming Essentials》 这本书的介绍吧!