一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种:

静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8的相对较多,功能满足,本文将使用Flake8

git:可借助git hooks,本文推荐使用pre-commit。

静态本地检测

Flake8包装了Pyflakes、Pycodestyle和McCabe,也可以自定义插件。功能包括:

检查代码是否符合PEP8

检查是否包含语法错误和未使用的变量和导入

检查代码的复杂度

安装

配置

推荐在pycharm中配置flake8:

参数说明:

Program中填写Flake可执行文件的具体路径

arguments中可添加自定义参数,比如设置每行的最大字符数,过滤某些文件(夹)等。

安装完了之后单击就可以检测了:

执行检测之后,如果出现 exit code 0 就说明代码规范,否则可按照提示进行整改。

pre-commit

官网: https://pre-commit.com/

介绍:

使用git的话,可以使用pre-commit钩子,在调用git commit 命令时会自动执行脚本进行检测,若代码出错,则不会commit成功。

作用:

在git commit命令之前对代码进行规范性检测

按照配置,对一些不符合规范的代码自动更新为规范的(比如:填充空格、更新import等)

提示更新之后仍不符合规范的代码

安装

Linux中安装完成即可执行pre-commit命令,Windows中需将.exe的路径添加至环境变量,方可执行pre-commit命令。

配置

在项目根目录下添加.pre-commit-config.yaml文件。

可参考官网样例,:

具体的配置可结合官网或github中的说明文档进行相关配置更新。

安装

执行pre-commit install命令,会在.git/hook路径下生成pre-commit文件,这样就保证了pre-commit安装成功,可以正常使用了。

然后执行:

更新配置文件只需要执行pre-commit install即可。

使用

配置完成之后,在git commit之前都会执行刚才的配置,可根据执行的结果来更新或者提交代码。

原文来自:http://dwz.date/caJb

作者:Yabea

本文链接:http://www.yunweipai.com/37047.html

python 检查代码规范_Python代码规范检测相关推荐

  1. 简述python程序的书写规范_Python代码书写规范

    Python 编码规范 一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格. 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点 ...

  2. google python代码规范_Python代码这样写才规范优雅! (二)

    前文传送门:Python代码这样写才规范优雅! (一)参考:https://www.python.org/dev/peps/pep-0008/Python PEP8编码规范的内容如下: 1. Intr ...

  3. python3编码命名规范_Python代码规范和命名规范

    Python代码规范和命名规范 zoerywzhou@163.com 作者:Zhouwan 2018-4-1 Python之父Guido推荐命名规范包括如下几点: 1.文件名.模块名和包名采用小写字母 ...

  4. python中pep8规范_Python PEP8规范

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

  5. python关于row的规范_python风格规范

    1.分号不要在行尾添加分号,也不要用分号将两条命令放在同一行2.行长度每行不超过80个字符例外:(1)长的导入模块语句(2)注释里的URL 不要使用反斜杠连接行.python会将圆括号,中括号和花括号 ...

  6. python格式化代码工具_python 代码格式化工具:YAPF

    背景 现在的大多数 Python 代码格式化工具(比如:autopep8 和 pep8ify)是可以移除代码中的 lint 错误.这显然有些局限性.比如:遵循 PEP 8 指导的代码可能就不会被格式化 ...

  7. python语言合法命名是_Python命名规范

    设计python函数分析字符串s是否符合"用户名"命名规def jiance(s): if not (len(s) >= 8 and len(s) python的标识符命名规 ...

  8. python 的代码格式_python代码格式

    笨办法学 Python · 续 中文版 笨办法学 Python · 续 中文版 原书:Learn More Python 3 The Hard Way 译者:飞龙 自豪地采用谷歌翻译 在线阅读 PDF ...

  9. python怎么设置代码执行时间_python 代码运行时间获取方式详解

    我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间.这里将介绍四种常用的测试代码运行速度的方法. 第一种:使用time模 ...

最新文章

  1. AI 创业周报第4期:AI芯片创企重磅发力,左手医生完成亿元 B 轮融资
  2. Android仿QQ列表滑动弹出按钮、长按提示、刷新列表
  3. 关于UIView的autoresizingMask属性的研究
  4. IntelliJ IDEA 配置chrome插件调试js代码
  5. C#通过对象属性名修改值
  6. 内核运行之前访问IO
  7. Eclipse、STS 常用设置、操作 与 常用快捷键
  8. 领域驱动设计营销系统建模
  9. oracle sequence nextval,SOS!!! Sequence.nextval 的问题
  10. CocosCreator之构建web版时自动使用模板文件
  11. 前端大屏页面布局经验
  12. mysql 自连接与内连接
  13. RTrPPG: An Ultra Light 3DCNN for Real-Time Remote Photoplethysmography
  14. 加勒比海盗船——最优装载问题(趣学算法C++代码和python代码)
  15. 关于QQWry.dat格式
  16. 初中级java开发工程师 -- 面试题库(一)
  17. 音视频技术开发周刊 | 295
  18. 高校房屋管理系统有哪些模块?
  19. 苹果iphone lightning引脚接口图,自己焊接图
  20. 【Datasheet】PHY KSZ9031千兆网络芯片解读

热门文章

  1. 彻底理解Java的Future模式
  2. 【开发问题记录①】关于滑动CollectionView时ContentSize变化的问题
  3. 菜鸟进阶Linux高手之路——第四天(下)
  4. Java实现动态代理的两种方式
  5. jQuery Mobile 中文手册 Ajax开发版(2)
  6. Flask 框架 是 Python 中最流行的 Web 框架之一
  7. TensorFlow学习笔记--第三节张量(tensor)及其定义方法
  8. python爬取网页停止_Python爬虫之爬取静态网页
  9. 有关label标签和单选按钮的注意事项
  10. 火柴人小程序linux,火柴人手绘小程序