python代码检查工具(静态代码审查)
时间:2021-09-08
本文章向大家介绍python代码检查工具(静态代码审查),主要包括python代码检查工具(静态代码审查)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
python静态代码检查
我们知道python是一门脚本语言,不像C#/Java等编译型语言可以在编译阶段就报出代码错误,脚本语言往往需要在运行期执行到这段代码时才会抛出代码错误。
那么在实际商业项目中使用python开发,我们是怎样做静态代码检查的呢?
首先在我们项目组推荐使用vscode做为python开发工具,本文我介绍下我们做的python代码静态审查来减少运行期的py脚本错误。
- 安装vscode插件:save and run,下载地址:Save and Run - Visual Studio Marketplace
- 通过pip install pyflakes 这个模块,安装后就有pyflakes.exe
- 在vscode中配置文件(settings.json)中增加这几行配置
"saveAndRun": {
"commands": [
{
"match":"\\.py$",
"isAsync":true,
"cmd":"python C:\\Python27\\Scripts\\pyflakes.exe ${file}"
}
]
},
- 在vscode中编写完py脚本,在保存时就会提示你当前文件是否有脚本错误了。
验证一下
语法报错
代码缩进在python中是语法,如果在纯文本中编辑代码或复制粘贴的代码,很大概率会出现缩进不对从而在运行时报错,通过上面的设置后在从保存py文件时就会报错出来。
PS E:\Code\python_study> python C:\Python27\Scripts\pyflakes.exe e:\Code\python_study\hello_netease.py
e:\Code\python_study\hello_netease.py:10:1: unexpected indent
print ("hello netease")
^
python用法报错
比如这个py文件中有一处错误,在保存py时就会提示你脚本有错误,这是因为global变量不能在初始化时赋值。
e:\Code\python_study\true-false逻辑控制符.py:9:17: invalid syntax
global log_func = 1
^
其它插件
原文地址:https://www.cnblogs.com/zhaoqingqing/p/15244507.html
- Python学习笔记(1):列表元组结构
- 6步创建一个通用机器学习模板
- Python学习笔记(2):数据库访问
- 学习Python语言,这些酷毙的工具你知道几个?
- Mysql备份系列(4)--lvm-snapshot备份mysql数据(全量+增量)操作记录
- 免费体验国内首款写作机器人,就是这么溜!
- Python学习笔记(3):数据集操作-列的统一操作
- Python学习笔记(3):数据集操作-列的统一操作
- Python学习笔记(4):自定义时间类
- Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录
- 微信小程序开发:设置消息推送
- Mysql备份系列(1)--备份方案总结性梳理
- ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理)
- 顶象全场景IoT安全方案解决物联网两大难题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一道 React 面试题:在浏览器、组件和元素中都渲染了些什么?
- 「新手入门福利」一张脑图带你掌握Git命令
- LeetCode | 58.最后一个单词的长度
- 模拟面试,解锁大厂 ——从Android的事件分发说起
- scRepertoire||单细胞免疫组库分析:R语言应用(一)
- Docker体验(二) - 自建Image
- 小程序代码复用 - template
- 五. Spring Security 权限管理
- 文档驱动 —— 表单组件(五):基于Ant Design Vue 的表单控件的demo,再也不需要写代码了。 表单一 公司信息表单二 员工信息,简化版,只是为了演示表单的切换。以后会出
- 文档驱动 —— 查询组件:将查询功能做到极致!你说还有啥没包含进来?antdv + vue 3.0 全新体验 快捷查询个性化查询方案更换各种查询方式更多的查询条件meta 驱动封装基础
- ES6能干啥?
- JQuery中DOM对象
- ES6都有什么?
- 前端html换肤
- 纯CSS换肤