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中的readline()方法的使用
May 24 Python
python使用psutil模块获取系统状态
Aug 27 Python
python中redis的安装和使用
Dec 04 Python
使用Python的turtle模块画图的方法
Nov 15 Python
python利用selenium进行浏览器爬虫
Apr 25 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
基于python实现从尾到头打印链表
Nov 02 Python
Python异常继承关系和自定义异常实现代码实例
Feb 20 Python
python+selenium 脚本实现每天自动登记的思路详解
Mar 11 Python
2021年值得向Python开发者推荐的VS Code扩展插件
Jan 25 Python
PyTorch dropout设置训练和测试模式的实现
May 27 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 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
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
微信小程序实现自定义picker选择器弹窗内容
2020/05/26 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
python中reduce()函数的使用方法示例
2017/09/29 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
浅谈Python大神都是这样处理XML文件的
2019/05/31 Python
django 单表操作实例详解
2019/07/30 Python
Python数学形态学实例分析
2019/09/06 Python
python实现在线翻译
2020/06/18 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
Pandas数据分析的一些常用小技巧
2021/02/07 Python
波兰多品牌运动商店:StreetStyle24.pl
2020/09/22 全球购物
小学运动会广播稿200字(十二篇)
2014/01/14 职场文书
消防安全宣传口号
2014/06/10 职场文书
体育运动会广播稿
2014/10/05 职场文书
个人债务授权委托书
2014/10/17 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2014年计生工作总结
2014/11/21 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS