Pylint : 你很棒,但我不想跟你 PaPaPa ...

这是一篇读后感,原文来自 Itamar Turner-Trauring Why Pylint is both useful and unusable, and how you can actually use it。文章不长,简明扼要,大致是说了这么三点:

  1. Pylint 的好处,以及如何帮助提升开发效率
  • 解释了大项目中基本不使用 Pylint 的原因
  • 如何调教 Pylint 使其发挥应有的实效

本文在原文的基础上进行了一些个 ( xīu ) 性 ( chǐ ) 的展开和解读。因此,在各位司机加满汽油、暖上引擎 (磨🗡霍霍、擦枪走🔥)…..之前,还是要谨小慎微地给您递上一个十分贴心到位的友情提醒:”本文已开启洪荒模式,其间 wulitaotao,气流紊乱,不可小觑;无关人士请自觉避让,(小清新尤其)注意此乃分流车道;最后,前方即将到达高速入口,请各位务必集中精力,谨慎驾驶,一路平安!😋”。

Step.1 掀起你的盖头来,让我看看你的脸 👰🏻

你是蛇群里的美杜莎,你是托起希望的雅典娜,你只用回眸看我的那束光,便将我原本百毒不侵的心脏,吹作烟、散为云,我将一生奉你为神祇,匍匐在你脚下,做你最虔诚的信徒,从此再无畏死亡和黑暗……

概括的讲,Pylint 是一个作用于 Python 的实时代码分析的命令行工具,它有助于开发人员在编写代码的过程中,及时发现和修正代码中存在的问题,这其中包括了**检测标准代码风格、重构帮助、错误检测、完全定制、编辑器集成、IDE集成、UML视图、…… **。
作为送给 Python 程序员的礼物,Pylint 就是一记看轻实重的化骨绵掌,直打得你心神荡漾,眼波流淌,骨头酥脆,一碰即碎。

Step.2 打开我,解锁更多姿势 👄

……
千姿百态是我,风情万种是我;
正当花好月圆夜,罗裳朦胧时;
请你,
轻轻打开我。
……

(题外:😣实在编不下去了,请自觉脑补。)

对于不同的平台 Pylint 有不同的打开方式。对,你没看错,主流的方式就有以下8种。所以不用担心车型不同、车系有别(我们有各种式样、各种厚度、各种尺寸,包您可以找到最衬您雄风的一款)*,请放开手脚尽情享用!

  1. **Debian 和 Ubuntu **
sudo apt-get install pylint
  1. Fedora
sudo yum install pylint
  1. Gentoo
emerge pylint
  1. openSUSE
sudo zypper install pylint  # python2.7
sudo zypper install python3-pylint  #  python 3.x
  1. Arch Linux
pacman -S python2-pylint # if you live in the past
pacman -S python-pylint  # if you live in the future
  1. OS X
pip install pylint
  1. Windows
pip install pylint 

屌丝问题多。

  1. From Source, using Git
git clone https://github.com/PyCQA/pylint
git clone https://github.com/PyCQA/astroid

Step.3 你很棒,但我不想跟你 PaPaPa … 🤥

摘自原文:Pylint is useful, but many projects don’t use it. For example, I went and checked just now, and neither Twisted nor Django nor Flask nor Sphinx seem to use Pylint. Why wouldn’t these large, sophisticated Python projects use a tool that would automatically catch bugs for them?

文中提到,Pylint 是个有用的工具,但是在像 Twisted, Django, Flask, Sphinx 这样出了名的大工程中却看不到它的踪影,这是为什么呢?这里有两个原因:

摘自原文:One problem is that it’s slow, but that’s not the real problem; you can always just run it on the CI system with the other slow tests. The real problem is the amount of output.

表面看来是它的问题是运行效率低( 需要对大量文件进行分析 );但主要问题来自于使用 Pylint 会产生大量的输出,且大部分属于无用的垃圾信息( 这个问题要归咎于 Pylint 的默认输出方式 )。举🌰来说:

摘自原文:I ran pylint on a checkout of Twisted and the resulting output was 28,000 lines of output (at which point pylint crashed, but I’ll assume that’s fixed in newer releases). Let me say that again: 28,000 errors or warnings.

使用 Pylint 检查 Twisted 项目,结果产生了28,000 行输出(运行到这里崩溃了,不然可不止这么点哦~),也就是说有28,000 行的错误或警告( -_-!!! )

再举一个不算有用的警告的🌰:

W:675, 0: Class has no __init__ method (no-init)

见微知著,我们可以预想( 不,应该是明确 ) Pylint 妹纸的输出真的是往铤而走险、弹尽粮绝的路子上走,大概这就是为什么这些大佬(老司机)们拒绝上 Pylint 的原因吧。

Step4. 此路不通?别啊,我是可以调教的!😘

😤知道了你们这群死狗的想法,心里其实很不爽的说:“臭男人,嘴巴上说不要,身体却很诚实。说到底,还不是嫌弃我输出太强,身体受不了嘛。一个个都是老贱的骨头!”

😊但话呢还是要漂亮地说:“别急着走呀,我是可以调教的嘛。只要把指令输入到 .pylintrc 配置文件中,你就能完全支配我的动作和行为,制作专属于你的定制版哦~。”

😜“啥?你不知道有哪些指令?唔,是我的错,忘了告诉你这件事了。这儿有一本说明书,不懂就翻翻看,不要自己瞎鼓捣哦,不然我会坏掉的。”

😏“哦,对了,这儿还有两份参考配置,你可以借鉴一下别人是怎么做的:XX, OO。好了,你先好好看着吧,今晚我等你,一定要来哦~。”

就算长时疲劳驾驶,也请不要错过高速出口

    原文作者:_Reyn_
    原文地址: https://www.jianshu.com/p/a388fb0309b1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞