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 相关文章推荐
删除目录下相同文件的python代码(逐级优化)
May 25 Python
python正则表达式match和search用法实例
Mar 26 Python
使用Python编写提取日志中的中文的脚本的方法
Apr 30 Python
编写Python脚本来获取Google搜索结果的示例
May 04 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
关于Tensorflow分布式并行策略
Feb 03 Python
在python3中实现查找数组中最接近与某值的元素操作
Feb 29 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 Python
opencv 阈值分割的具体使用
Jul 08 Python
python实现AdaBoost算法的示例
Oct 03 Python
python破解同事的压缩包密码
Oct 14 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随机生成福彩双色球号码的2种方法
2013/02/04 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
php 魔术方法详解
2014/11/11 PHP
Yii2中datetime类的使用
2016/12/17 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
pyqt和pyside开发图形化界面
2014/01/22 Python
Python实现简单的获取图片爬虫功能示例
2017/07/12 Python
python实现俄罗斯方块游戏
2020/03/25 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
Python实现程序判断季节的代码示例
2019/01/28 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
Viking Direct爱尔兰:办公用品和家具
2019/11/21 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
《伯牙绝弦》教学反思
2014/03/02 职场文书
向领导表决心的话
2014/03/11 职场文书
供货协议书范本
2014/04/22 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs