Linting Python:什么是好的?

时间:2009-12-10 20:19:11

标签: python pylint

是否有任何好的模块可以针对您的代码运行以捕获编码错误?我希望pylint能够在使用函数like this的默认参数时发现错误:

>>> def spam(eggs=[]):
...     eggs.append("spam")
...     return eggs

但发现他们没有报告却很失望。我正在寻找PEP8格式之外的东西。

3 个答案:

答案 0 :(得分:5)

我尝试了第一个例子,PyLint 0.18.1给了我警告:

W:  1:spam: Dangerous default value [] as argument

答案 1 :(得分:2)

我前几天为this site添加了书签,部分原因是因为它有一个标题为“Python代码质量工具”的部分,其中列出了许多用于检查代码的实用程序,包括pylint和其他五个。

我一直在考虑将所有集成到我们的自动化测试框架中......

答案 2 :(得分:1)

如果您想要这样做,那么您的代码中不会出现错误。但是,如接受的答案中所指出的,空列表是一个“危险”的默认值,因为很容易引入难以发现的问题。

相关问题