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中的Matplotlib模块入门教程
Apr 15 Python
Python制作爬虫抓取美女图
Jan 20 Python
在Python中定义和使用抽象类的方法
Jun 30 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
python3+PyQt5自定义视图详解
Apr 24 Python
Python 实现在文件中的每一行添加一个逗号
Apr 29 Python
Django开发中的日志输出的方法
Jul 02 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
Oct 14 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
python使用OpenCV模块实现图像的融合示例代码
Apr 10 Python
python实现数字炸弹游戏程序
Jul 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中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
JSON简介以及用法汇总
2016/02/21 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
在python中的socket模块使用代理实例
2014/05/29 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
Python标准模块--ContextManager上下文管理器的具体用法
2017/11/27 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
分析Python读取文件时的路径问题
2018/02/11 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
python打开文件的方式有哪些
2020/06/29 Python
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
init进程的作用
2015/08/20 面试题
护理专业的自荐信
2013/10/22 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
2014年技术员工作总结
2014/11/18 职场文书
2014年教研组工作总结
2014/11/26 职场文书
教师工作能力自我评价
2015/03/04 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
2016年少先队活动总结
2016/04/06 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python