是否有任何好的模块可以针对您的代码运行以捕获编码错误?我希望pylint能够在使用函数like this的默认参数时发现错误:
>>> def spam(eggs=[]):
... eggs.append("spam")
... return eggs
但发现他们没有报告却很失望。我正在寻找PEP8格式之外的东西。
答案 0 :(得分:5)
我尝试了第一个例子,PyLint 0.18.1给了我警告:
W: 1:spam: Dangerous default value [] as argument
答案 1 :(得分:2)
我前几天为this site添加了书签,部分原因是因为它有一个标题为“Python代码质量工具”的部分,其中列出了许多用于检查代码的实用程序,包括pylint和其他五个。
我一直在考虑将所有集成到我们的自动化测试框架中......
答案 2 :(得分:1)
如果您想要这样做,那么您的代码中不会出现错误。但是,如接受的答案中所指出的,空列表是一个“危险”的默认值,因为很容易引入难以发现的问题。