时间:2021-05-22
对于下面这种情况,java c这些提前编译的语言,不给你运行机会就立马报错了,但对于动态语言运行之后才能报错,用运行的方法来检查代码错误是在是太坑了,这是py对比静态语言的巨大劣势,尤其是代码文件多行数较大时候,劣势有些明显。
#coding=utf8import timeclass A(object): def __init__(self): self.name = 'xiaomin'def fun(): for i in range(100): time.sleep(10) print i if i == 70: print bbbbfun() time.sleep(600)print A().age这段代码有错误,第13行本地和全局中都找不到bbbb。
第17行A类的实例没有age这个属性,强行使用会在运行时候报错。
但这个报错有很大缺陷,第13行报错需要运行后等到第700秒才报错,如果不调用fun函数,第17行需要等600秒才报错,这里的sleep用来泛指运行其他代码功能消耗的时间。
尤其是代码文件多,嵌套判断多,不能很快的报出一些明显错误,实在是不太好,如果是不小一在编辑器哪一段按了几个键盘多打了几个字母,还要等运行才报错,那是十分坑的。这可能是国内大的项目,用py语言很少的原因之一。
还好,有一些工具flake8,pylint检查,如果使用pycharm,那就用自带的inspect code功能来检查。
最好设置一个自定义按键。
这样就能找到这个bbbb和age属性错误了。其余的是pep8语法,2to3的过时写法检查
这样的好处是不需要等运行10分钟后才发现错误,而是很快就发现错误,减少一些测试时间,不然老是改来改去运行,很糟糕。
反对极端面向过程编程思维方式,喜欢面向对象和设计模式的解读,喜欢对比极端面向过程编程和oop编程消耗代码代码行数的区别和原因。致力于使用oop和36种设计模式写出最高可复用的框架级代码和使用最少的代码行数完成任务,致力于使用oop和设计模式来使部分代码减少90%行,使绝大部分py文件最低减少50%-80%行的写法。
以上这篇pycharm 对代码做静态检查操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
pycharm不显示代码提示1、检查IDE省电模式是否关闭状态!!!file→powersavemode取消掉2、检查代码提示是否成功开启。setting→In
关于静态类型检查和动态类型检查的解释:静态类型检查:基于程序的源代码来验证类型安全的过程;动态类型检查:在程序运行期间验证类型安全的过程;Java使用静态类型检
以下内容来自维基百科,关于静态类型检查和动态类型检查的解释:•静态类型检查:基于程序的源代码来验证类型安全的过程;•动态类型检查:在程序
问题描述:大家在使用pycharm写代码的时候,肯定遇到过这种情况,满屏的波浪线。其实pycharm这个功能的本意是好的,可以实现许多检查,让我们写出更健壮的代
一定要注重代码规范,按照平时的代码管理,可以将Python代码规范检测分为两种:静态本地检测:可以借助静态检查工具,比如:Flake8,Pylint等,调研了一