python代码风格检查工具──pylint
pylint是一个python代码检查工具,可以帮助python程序员方便地检查程序代码的语法和风格,通过这个工具,可以使你的python代码尽量保持完美,哈哈。
具体可以检查什么东西呢?
比如你写了 from XXX import * 了,它就会提示你这样import是不好的。
比如你操作符的前后没有空格,它也会提示你。
比如逗号后面没跟空格也会。
还有你import了没用到的模块,定义了没使用的变量等也会提示。
还有你的变量名是否符合规范也会提示。
总之它提示的内容很多很全面,而且它最后会给出一个所检查的代码的总体分数,如果能达到满分10分的话,简直就是神作了,因为pylint本身的代码也才9.5分左右,哈哈。
比较惨的是,TX发现这个工具以后,检查了几个python项目的分数,都不是很高,我那gmbox得了2分多点,还算是高的。不过,经过一番优化,现在的gmbox已经有6.64分,及格了,哈哈。。
值得一提的是,pylint不仅可以像默认那样输出字符结果,还可以彩色化输出,甚至还可以输出HTML和visual studio的格式。具体用法可以参见man页和这个文档。
eth2net 在 2009年12月23日 22:47 说:【 】
沙发么?
shellexy 在 2009年12月23日 22:52 说:【 】
试着给 ubuntu-tweak 的 xfce 模块单独测了下, 分别是:
xfce4_compiz_manger.py: 7.03/10
xfce4_panel_switcher.py: 5.99/10
xfcesettings.py: -2.32/10
狠奇怪照着 TX 描的代码会负分,
而拿遗留程序加点 try import ubuntutweak 弄成的兼职模块却有 6 分上下
Iven 在 2009年12月23日 23:18 说:【 】
一个程序 2.49/10
另外一个 5.35/10
主要是懒得写 docstring ……
levon 在 2009年12月23日 23:27 说:【 】
我发现你做了一個源,里面有ubuntu还有深度linux
问下,你的服务器是哪里的呢?
貌似挺贵的吧
bones7456 在 2009年12月24日 08:49 说:【 】
在杭州,其实服务器是公司的。。。
Tweets that mention I am LAZY bones ? : python代码风格检查工具──pylint -- Topsy.com 在 2009年12月24日 12:47 说:【 】
[…] This post was mentioned on Twitter by 骨头. 骨头 said: li2z新文章: python代码风格检查工具──pylint (http://cli.gs/GEan0) […]
xiooli 在 2009年12月24日 12:55 说:【 】
额,八婆程序。
xiooli 在 2009年12月24日 13:14 说:【 】
刚刚检查了一个小程序,居然是惨不忍睹的-12 分,额,优化了以后得了 7.09 分,及格了。
bones7456 在 2009年12月24日 13:34 说:【 】
-12,哈哈,我见过的最高负数分
observer 在 2009年12月24日 13:49 说:【 】
同,我的大部分都徘徊在-6~-4,而且只要把tab改为空格,把”,”改为”, “,就能及格,所以这个八婆程序打分还是不太合理我觉得。
observer 在 2009年12月24日 13:14 说:【 】
挺好玩的,我写helloworld都改了半天才改成10分的,其他程序惨不忍睹,只有一个2分的,其余全部负分@@
“神作”程序,娃哈哈
~~~~~~~~~~
observer 在 2009年12月24日 13:15 说:【 】
么缩进了@@
bones7456 在 2009年12月24日 13:33 说:【 】
呵呵,给你加上pre,哈哈
observer 在 2009年12月24日 13:34 说:【 】
尝试改了一下代码,发现只是把所有的tab换成空格,分数就从-3.59到5.78分了,就差一点点就及格了,看来pylint相当不爽我的tab啊….
bones7456 在 2009年12月24日 13:37 说:【 】
啊?你居然用tab缩进啊?这可是python程序的大忌,哈哈~
observer 在 2009年12月24日 13:40 说:【 】
不是很明白,为什么呢?不是只要对齐就好了么?
bones7456 在 2009年12月25日 15:39 说:【 】
看这里吧。
observer 在 2009年12月24日 13:39 说:【 】
再把”逗号”全部替换成了”逗号空格”,就变成7.46分了
这打分也太不靠谱了吧,纯粹是按不规范写法的个数来计算的@@
bones7456 在 2009年12月24日 13:50 说:【 】
好像也考虑了总行数之类的,然后每个错误按权重会扣几分,这样的吧~
于仁颇黎 在 2009年12月24日 14:37 说:【 】
有没有什么工具能format python的格式呢?
shell 在 2009年12月24日 15:37 说:【 】
刚刚优化了下,从-2到7.88。
不过我换个给文件的顺序,分数立刻就变了,这事情好奇怪。
Xuqing Kuang 在 2009年12月25日 12:49 说:【 】
这个工具我用很长时间了,我的第一个项目就是用它进行 test 的,如果分数没达到 10 分就无法编包。
其实找个工具某些程度有些过分,其实怎么写代码都是可以运行的,所以我第二个项目里已经不用它了。
bones7456 在 2009年12月25日 13:39 说:【 】
呵呵,你苛求完美的话,确实有点过分了。
有些扣分项没办法的,比如你用了pygtk,继承超过7层很正常的,而且一个类有几百个Public method也无可避免,但是都会被扣分,除非你自己人为排除这些项的检查。
拿来作为参考还是不错的。