Python标准库代码的低Pylint等级的原因

时间:2010-07-28 18:09:56

标签: python pylint

一位朋友告诉我有关Pylint的事情,出于好奇,我对一些标准库模块进行了操作。令我惊讶的是,收视率很低。以下是一些运行:

os.py
Your code has been rated at 3.55/10 

random.py
Your code has been rated at 4.74/10

我在一些模块上运行它,发现评级为~6 - 7.

我想知道这背后的原因? Pylint是否破损或评级的因素多于我所知的?我问这个问题特别是因为我是Python的新手,并依赖于Pylint来帮助我改进我的编码风格:)

2 个答案:

答案 0 :(得分:12)

Pylint的默认值非常严格,并抱怨他们不应该做的事情。例如,如果您使用foo(**kwargs),则会收到有关使用“magic”的消息。有时似乎pylint从Java程序员的角度来看Python。

您必须查看具体消息,并决定是否同意这些消息。

其他问题包括无法执行特定于平台的条件。在os.py中,它抱怨道:

F:119: Unable to import 'riscos'

答案 1 :(得分:6)

Pylint是在stdlib之后很久写的。例如,stdlib不遵守严格的命名约定(PEP008是最近的,wrt python)。获得“好”的幽灵评级的关键因素:

  • 确保您的代码编写风格符合Pylint的期望(或调整Pylint以符合您的风格/约定)。这包括函数,变量,类,方法名称,各个地方的空格等。

  • 以尽可能方便的方式编写Python代码,并避免使用动态技巧。

  • 写docstrings

显然,标准库不是为了优化Pylint对模块的评级而编写的。

使用Pylint不一定会改善您的“编码风格”。但是,在许多情况下,您的代码会更容易理解,有时会以某些“pythonicity”为代价。