zoukankan      html  css  js  c++  java
  • Python代码规范检测

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

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

    静态本地检测

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

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

    安装

    pip install flake8

    配置

    推荐在pycharm中配置flake8:

    参数说明:

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

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

    执行检测之后,如果出现 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之前都会执行刚才的配置,可根据执行的结果来更新或者提交代码。

    以上。

  • 相关阅读:
    tcp/心跳包
    TCP协议中的三次握手和四次挥手(图解)
    http 中get和post
    xmpp总结
    IOS中http请求使用cookie
    sdwebimage总结
    iOS断言
    Object-C自定义对象NSLog输入信息
    NSTimer你真的会用了吗
    ios中block中的探究
  • 原文地址:https://www.cnblogs.com/ybjourney/p/13407406.html
Copyright © 2011-2022 走看看