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 22 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
用pandas中的DataFrame时选取行或列的方法
Jul 11 Python
Python基于多线程实现ping扫描功能示例
Jul 23 Python
python内置数据类型之列表操作
Nov 12 Python
python中数组和矩阵乘法及使用总结(推荐)
May 18 Python
PyQt5响应回车事件的方法
Jun 25 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
Python Numpy,mask图像的生成详解
Feb 19 Python
只用20行Python代码实现屏幕录制功能
Jun 02 Python
如何正确理解python装饰器
Jun 15 Python
浅析Python中的随机采样和概率分布
Dec 06 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/04 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
简单的代码实现jquery定时器
2013/11/17 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
js读取json的两种常用方法示例介绍
2014/10/19 Javascript
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
2017/10/26 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python不规范的日期字符串处理类
2014/06/10 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
测绘工程个人的自我评价
2013/11/23 职场文书
小学毕业演讲稿
2014/04/25 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
学生犯错保证书
2015/05/09 职场文书
Pytorch 如何加速Dataloader提升数据读取速度
2021/05/28 Python