首页 网维知识库 Python代码规范检测

Python代码规范检测

一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种: 静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8…

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

  1. 静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一下,用Flake8的相对较多,功能满足,本文将使用Flake8 
  2. git:可借助git hooks,本文推荐使用pre-commit。 

静态本地检测

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

  • 检查代码是否符合PEP8
  • 检查是否包含语法错误和未使用的变量和导入
  • 检查代码的复杂度

安装

pip install flake8

配置

推荐在pycharm中配置flake8:

Python代码规范检测插图

参数说明:

  1. Program中填写Flake可执行文件的具体路径
  2. arguments中可添加自定义参数,比如设置每行的最大字符数,过滤某些文件(夹)等。

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

Python代码规范检测插图1

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

pre-commit

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

介绍:

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

作用:

  1. 在git commit命令之前对代码进行规范性检测
  2. 按照配置,对一些不符合规范的代码自动更新为规范的(比如:填充空格、更新import等)
  3. 提示更新之后仍不符合规范的代码

安装

pip install pre-commit

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

配置

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

可参考官网样例,:

repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.3.0
    hooks:
    -   id: check-yaml
    -   id: end-of-file-fixer
    -   id: trailing-whitespace
-   repo: https://github.com/psf/black
    rev: 19.3b0
    hooks:
    -   id: black
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.3.0
    hooks:
    -   id: flake8
        args:
        - --max-line-length=120

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

安装

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

然后执行:

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

使用

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

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 3182235786a

为您推荐

Windows系统怎么保持远程桌面长时间链接不会自动断开呢?

Windows系统怎么保持远程桌面长时间链接不会自动断开呢?

大家经常会遇到正在远程桌面连接如果不进行一些操作,过上个几分钟一会儿之后远程桌面连接就会需要登录,有时还是直接断开需要重...
Win11预览版 Builds 22572.100更新补丁KB5012817发布(附更新修复内容汇总)

Win11预览版 Builds 22572.100更新补丁KB5012817发布(附更新修复内容汇总)

据系统之家小编了解,微软公司于今日凌晨面向Windows预览频道发布了新的Win11 KB5012817补丁,内部版本2...
Win11预览版全新标签式文件资源管理器上手体验:快速切换窗口,还可以滚动标签

Win11预览版全新标签式文件资源管理器上手体验:快速切换窗口,还可以滚动标签

据 Windows Latest 报道,如果你是众多要求微软为文件资源管理器添加标签页的用户之一,现在终于等到了好消息。...
微软 Win11 22H2“太阳谷 2”重大版本将全面改造升级传统经典 UI

微软 Win11 22H2“太阳谷 2”重大版本将全面改造升级传统经典 UI

据 Windows Latest 报道,Windows 11 太阳谷 2 更新预计将对 UI 进行大修,并在 WinUI...
电脑升级win11后怎么退回win10?win11退回win10系统操作方法

电脑升级win11后怎么退回win10?win11退回win10系统操作方法

方法一 1.当我们升级win11后需要退回win10系统时,首先进入开始菜单页面,找到【设置】。 2.在设置的操作页面中...

发表回复

返回顶部