I am LAZY bones ? all linux

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页和这个文档

最后修改时间: 2009年12月23日 22:42

本文章发表于: 2009年12月23日 22:42 | 所属分类:CLI软件, 编程相关. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

23 个评论 关于: “python代码风格检查工具──pylint”

  1. eth2net 在 2009年12月23日 22:47 说:回复

    沙发么?

  2. 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 分上下

  3. Iven 在 2009年12月23日 23:18 说:回复

    一个程序 2.49/10
    另外一个 5.35/10
    主要是懒得写 docstring ……

  4. levon 在 2009年12月23日 23:27 说:回复

    我发现你做了一個源,里面有ubuntu还有深度linux
    问下,你的服务器是哪里的呢?
    貌似挺贵的吧

    • bones7456 在 2009年12月24日 08:49 说:回复

      在杭州,其实服务器是公司的。。。

  5. 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) […]

  6. 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改为空格,把”,”改为”, “,就能及格,所以这个八婆程序打分还是不太合理我觉得。

  7. observer 在 2009年12月24日 13:14 说:回复

    挺好玩的,我写helloworld都改了半天才改成10分的,其他程序惨不忍睹,只有一个2分的,其余全部负分@@
    “神作”程序,娃哈哈
    ~~~~~~~~~~

    '''Hello world script'''
    def hello():
        '''Print hello world
     
        Just print hello world'''
        print 'hello world'
     
    if __name__ == '__main__':
        hello()
    • 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 说:回复

          不是很明白,为什么呢?不是只要对齐就好了么?

      • observer 在 2009年12月24日 13:39 说:回复

        再把”逗号”全部替换成了”逗号空格”,就变成7.46分了
        这打分也太不靠谱了吧,纯粹是按不规范写法的个数来计算的@@

        • bones7456 在 2009年12月24日 13:50 说:回复

          好像也考虑了总行数之类的,然后每个错误按权重会扣几分,这样的吧~

  8. 于仁颇黎 在 2009年12月24日 14:37 说:回复

    有没有什么工具能format python的格式呢?

  9. shell 在 2009年12月24日 15:37 说:回复

    刚刚优化了下,从-2到7.88。
    不过我换个给文件的顺序,分数立刻就变了,这事情好奇怪。

  10. Xuqing Kuang 在 2009年12月25日 12:49 说:回复

    这个工具我用很长时间了,我的第一个项目就是用它进行 test 的,如果分数没达到 10 分就无法编包。

    其实找个工具某些程度有些过分,其实怎么写代码都是可以运行的,所以我第二个项目里已经不用它了。

    • bones7456 在 2009年12月25日 13:39 说:回复

      呵呵,你苛求完美的话,确实有点过分了。
      有些扣分项没办法的,比如你用了pygtk,继承超过7层很正常的,而且一个类有几百个Public method也无可避免,但是都会被扣分,除非你自己人为排除这些项的检查。
      拿来作为参考还是不错的。

发表评论