zoukankan      html  css  js  c++  java
  • python flake8 代码扫描

    一、介绍

    Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,flake8是下面三个工具的封装:

    1. PyFlakes
    2. Pep8
    3. NedBatchelder’s McCabe script

    Flake8通过启动单独的flake8脚本运行所有工具,它在一个Per文件中显示告警,合并到输出中。

    也增加一些特征:

    1. 包含这行文件将被忽略:#flake8: noqa
    2. 结尾包含#noqa注释的行将不发布告警
    3. GIT和Mercurial钩子
    4. McCabe复杂度检查器
    5. 可以通过flake8.extension入口点扩展
    安装:pip install flake8
     

    二、使用

    1、检查指定目录下的文件(包括这个目录的所有子文件)

    例如:我们有一个目录Zbj_project,如果我想检查这个目录下的所有文件是否规范:(在命令行中使用[即windows的cmd下])

    flake8  Zbj_project

    2、如果你只想检查这些文件的特定的错误类型(e.g., E123)

    flake8 --select E123 Zbj_project

    3、如果需要选择以特定类型开头的错误码,eg:以E开头

    flake8 --select E Zbj_project
    如果需要选择多个特定错误码用逗号隔开就可以了

    4、忽略特定错误码

    静态代码检查忽略H233类型错误

    flake8 --ignore H233 Zbj_prioject

    5、忽略特定文件/文件夹

    静态代码检查忽略test2.py文件

    flake8 --exclude Zbj_project/path/test.py Zbj_project

    6、关于Flake8更多命令参考

    flake8 –-help

    7、Flake8的小插件

    Flake8相比其他Python静态代码检查工具的优势在于其良好的扩展性,以下是介绍Flake8几款比较流行的插件:

    1.hacking

    插件安装

    pip install hacking

    hackinghacking插件安装完成之后,会新增一类错误返回码以H开头:H***:hacking返回的错误类型。

    在hacking中有些错误类型检测是默认关闭的,可以通过命令行或者配置文件修改开关:enable-extensions= H106,H203

    2.pep8-naming

    针对目前pep8尚未支持命名规范的检查,有人开发出了此款插件作为规则补充。

    pep8-naming插件安装完成之后,会新增一类错误返回码以N开头:N***: pep8-naming返回的错误类型。

    安装

    pip install pep8-naming

    8、在Jenkins上分析flake8的报告

    在Flake8上安装插件,flake8-junit-report将flake8的报告转换为junit format

    1.安装flake8-junit-report

    pip install flake8-junit-report

    2.输出Flake8测试报告

    flake8 --output-file flake8.txt shadowtest

    3.转换成junit测试结果的xml

    python -m junit_conversor flake8.txt flake8_junit.xml
     
  • 相关阅读:
    spy++工具
    select 设置发送超时发送注意事项
    C++ Socket超时设置
    linux下的find文件查找命令与grep文件内容查找命令
    C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
    vc6.0出现“cannot add new member”解决办法
    Nginx虚拟主机配置(20200202)
    Centos7内核版安装nginx环境问题及解决方法
    Nginx架构分析(20200202)
    软链接和硬链接——Linux中的文件共享
  • 原文地址:https://www.cnblogs.com/Zzbj/p/11204411.html
Copyright © 2011-2022 走看看