免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3928 | 回复: 4
打印 上一主题 下一主题

Python是好用,但是没有编译时静态检查实在是不习惯呀 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-21 21:27 |只看该作者 |倒序浏览
如果我能坚持一直用python的话,我想用这个帖子写下因为不习惯脚本语言而犯下的错误。

前几天的一个错误:
一个非增量式程序,已经运行了一个小时,突然产生异常退出了,之前一个小时白跑了。产生异常的原因是,给一个错误处理函数传参,结果指定参数名称时拼写有误。这个错误处理函数一般情况下不用被调用,正好在运行一半的时候出现了那个错误调用了那个处理函数,导致程序异常退出。

结论:以前听说编译时检测到错误要比运行时检测到错误好,现在才体会是什么意思。脚本语言貌似用符号交流,运行时才能知道调用的是哪个函数,似乎没有什么办法检查到这种错误。我这种老是打错字的程序员压力很大。。。。


今天的一个错误:
访问一个对象的成员,报错,该对象无此成员。仔细检查,这个成员是在此类的父类的初始化函数中产生的,看起来父类的初始化函数没有被调用。但我明明在此类的初始化函数里调用了父类的初始化函数。经反复观察,终于找到了原因,原来我把该类的初始化函数写成了__int__,相当于根本没为这个类写初始化函数。

结论:好在这个错误一运行就能发现。如果是在Java里,子类一定要调用父类的构造函数之一,这种情况编译的时候就会很清楚地告诉你错误的原因。当然,Java因为语法的原因根本不会产生这种错误。我这种毛毛糙糙的人表示压力很大。。。。

论坛徽章:
0
2 [报告]
发表于 2011-05-21 23:49 |只看该作者
推荐你用PyCharm……一个靠谱的IDE还是很有帮助的……

论坛徽章:
0
3 [报告]
发表于 2011-05-23 07:33 |只看该作者
回复 1# tempname3
可以试试pylint和pychecker

论坛徽章:
0
4 [报告]
发表于 2011-05-23 12:46 |只看该作者
可惜pycharm和wing都是收费软件,pyScripter是开源的,不过功能好像相对弱些

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:50:28
5 [报告]
发表于 2011-05-23 14:40 |只看该作者
python -w xxx.py

可以看到些警告信息
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP