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的Django框架中为代码添加注释的方法
Jul 16 Python
python读取LMDB中图像的方法
Jul 02 Python
Django添加feeds功能的示例
Aug 07 Python
Python和Go语言的区别总结
Feb 20 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
May 13 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
python如果快速判断数字奇数偶数
Nov 13 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
Python 图片添加美颜效果
Apr 28 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
PHP4之真OO
2006/10/09 PHP
PHP 数组实例说明
2008/08/18 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
IE与firefox之jquery用法区别
2008/10/03 Javascript
JavaScript 精粹读书笔记(1,2)
2010/02/07 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
2018/09/18 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
2019/10/24 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
Vue自动构建发布脚本的方法示例
2020/07/24 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
python使用7z解压apk包的方法
2015/04/18 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python 常用string函数详解
2016/05/30 Python
python开发简易版在线音乐播放器
2017/03/03 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
Python代码太长换行的实现
2019/07/05 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
python2 对excel表格操作完整示例
2020/02/23 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python 模拟登录B站的示例代码
2020/12/15 Python
荷兰家电销售网站:Welhof
2020/12/08 全球购物
优秀教师先进事迹
2014/01/22 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
SQL注入篇学习之盲注/宽字节注入
2022/03/03 MySQL