pycharm 对代码做静态检查操作


Posted in Python onJune 09, 2020

对于下面这种情况,java c这些提前编译的语言,不给你运行机会就立马报错了,但对于动态语言运行之后才能报错,用运行的方法来检查代码错误是在是太坑了,这是py对比静态语言的巨大劣势,尤其是代码文件多行数较大时候,劣势有些明显。

#coding=utf8
import time

class A(object):
 def __init__(self):
  self.name = 'xiaomin'

def fun():
 for i in range(100):
  time.sleep(10)
  print i
  if i == 70:
   print bbbb


fun() time.sleep(600)
print A().age

这段代码有错误,第13行本地和全局中都找不到bbbb。

第17行A类的实例没有age这个属性,强行使用会在运行时候报错。

但这个报错有很大缺陷,第13行报错需要运行后等到第700秒才报错,如果不调用fun函数,第17行需要等600秒才报错,这里的sleep用来泛指运行其他代码功能消耗的时间。

尤其是代码文件多,嵌套判断多,不能很快的报出一些明显错误,实在是不太好,如果是不小一在编辑器哪一段按了几个键盘多打了几个字母,还要等运行才报错,那是十分坑的。这可能是国内大的项目,用py语言很少的原因之一。

还好,有一些工具flake8,pylint检查,如果使用pycharm,那就用自带的inspect code功能来检查。

pycharm 对代码做静态检查操作

最好设置一个自定义按键。

pycharm 对代码做静态检查操作

这样就能找到这个bbbb和age属性错误了。其余的是pep8语法,2to3的过时写法检查

这样的好处是不需要等运行10分钟后才发现错误,而是很快就发现错误,减少一些测试时间,不然老是改来改去运行,很糟糕。

反对极端面向过程编程思维方式,喜欢面向对象和设计模式的解读,喜欢对比极端面向过程编程和oop编程消耗代码代码行数的区别和原因。致力于使用oop和36种设计模式写出最高可复用的框架级代码和使用最少的代码行数完成任务,致力于使用oop和设计模式来使部分代码减少90%行,使绝大部分py文件最低减少50%-80%行的写法。

以上这篇pycharm 对代码做静态检查操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
下载安装setuptool和pip linux安装pip    
Jan 24 Python
python字典多条件排序方法实例
Jun 30 Python
Python for Informatics 第11章之正则表达式(四)
Apr 21 Python
Python脚本获取操作系统版本信息
Dec 17 Python
高效使用Python字典的清单
Apr 04 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
在python中将字符串转为json对象并取值的方法
Dec 31 Python
Python2与Python3的区别实例分析
Apr 11 Python
利用Python检测URL状态
Jul 31 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
Feb 25 Python
Pygame Event事件模块的详细示例
Nov 17 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 #Python
Python文件操作模拟用户登陆代码实例
Jun 09 #Python
pyCharm 实现关闭代码检查
Jun 09 #Python
在pycharm中关掉ipython console/PyDev操作
Jun 09 #Python
python 元组的使用方法
Jun 09 #Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 #Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
Jun 09 #Python
You might like
PHP 一个页面执行时间类代码
2010/03/05 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
jquery ajax请求实例深入解析
2012/11/26 Javascript
JavaScript获取页面中第一个锚定文本的方法
2015/04/03 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
Python函数学习笔记
2008/10/07 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
基于Python函数的作用域规则和闭包(详解)
2017/11/29 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
通过实例解析python and和or使用方法
2020/11/14 Python
纯CSS3实现自定义Tooltip边框涂鸦风格的教程
2014/11/05 HTML / CSS
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
上海天奕面试题笔试题
2015/04/19 面试题
端口镜像是怎么实现的
2014/03/25 面试题
卫校中专生个人自我评价
2013/09/19 职场文书
大学自我鉴定
2013/12/20 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
幼儿园美术教学反思
2014/01/31 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
会议主持词开场白
2015/05/28 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书