一位朋友告诉我有关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来帮助我改进我的编码风格:)
答案 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”为代价。