内容简介:本文参考了:代码规范、测试是开发中很重要的一环,重要性无需我多说。我们需要一些自动化工具,来帮助我们更轻松地管理项目。本文推荐几个实用的自动化工具。pre-commit 我在之前的一篇文章
本文参考了:
代码规范、测试是开发中很重要的一环,重要性无需我多说。我们需要一些自动化工具,来帮助我们更轻松地管理项目。本文推荐几个实用的自动化工具。
pre-commit 我在之前的一篇文章 推荐一些维护大型 Python 项目的工具 中简要提到过,这里再稍微讲一下。
pre-commit 用到一个配置文件: .pre-commit-config.yaml ,官方文档在这里。这里针对 Python 项目,希望 git precommit hooks 能够实现以下功能:能找出不符合 pep8规范的代码,并且能够自动格式化。这需要用到两个工具: black 和 flake8 , black 自动格式化, flake8 检测代码不规范的地方。
整个的 workflow 如下图所示:
具体的执行步骤如下:
- 安装 pre-commit :
pip install pre-commit - 写
.pre-commit-config.yaml配置文件 - 用
pre-commit install安装git hooks到你的.git/目录
我们的 .pre-commit-config.yaml 很简单,如下:
repos:
- repo: https://github.com/ambv/black
rev: stable
hooks:
- id: black
language_version: python3.7
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v1.2.3
hooks:
- id: flake8
复制代码
然后我们下一次提交 commit 的时候,会先运行 black 和 flake8 ,检查出哪有不规范的地方,并且能自动帮你格式化。你修改之后重新提交 commit,就能顺利提交了。
实际操作一下:
新建一个测试文件: bad_pep8.py :
有好几处不符合 pep8规范,我们试着 commit 一下:
可以看到两个 hook 都没有通过,另外 black 帮我们把代码格式化了。
同时 flake8 提示我们 x 变量定义了但是没有使用,把这一行删掉,然后重新add 并 commit:
如果你觉得没有必要强制要求不能定义变量而不使用(从输出可以看出这个规范的编号为F841),可以在项目根目录建一个 .flake8 配置文件,如下图。更加详细的配置请看官方文档。
[flake8] ignore = F841 复制代码
以上所述就是小编给大家介绍的《用 pre-commit hook 解决 Python 项目编码规范》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- URI不规范编码解决方案
- 解决AAC音频编码时间戳的计算问题
- Linux与Windows编码不一致的解决方案
- 从 Notification.Name 看 Swift 如何优雅的解决 String 硬编码
- Mac环境mysql5.7.21 utf8编码问题及解决方案
- 编码、摘要和加密(一)——字节编码
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网站转换率优化之道
[美] Khalid Saleh、[美] Ayat Shukairy / 顾 毅 / 人民邮电出版社 / 2012-4 / 45.00元
内容简介: 怎样才能将访问者转化为顾客? 本书提供了一些切实可行的建议,比如如何说服访问者作出购买决定,如何避免用户因信息过量或导航繁琐而离开网站等。不论你是在设计或营销大型电子商务网站,还是在管理中小型在线业务,都可以从本书学会怎样使用市场营销原则、设计方法、可用性原则和分析数据来持续提升网站的转换率。 作者帮助过众多公司吸引在线顾客,有着丰富的实战经验,在书中细致讨论了从访问......一起来看看 《网站转换率优化之道》 这本书的介绍吧!