Pylint 看起来是运行 Python 代码分析的好工具。
但是,我们的主要目标是捕获任何潜在的错误,而不是编码约定。启用所有 Pylint 检查似乎会产生很多噪音。您使用并有效的 Pylint 功能集是什么?
原文由 amit 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
您可以通过以下方式阻止任何您不喜欢的警告/错误:
pylint --disable=error1,error2
我已经阻止了以下内容(来自 http://www.logilab.org/card/pylintfeatures 的描述):
W0511:当检测到 FIXME 或 XXX 警告提示时使用
W0142:使用*或*魔法*。当使用
*args
或**kwargs
调用函数或方法时使用以分派参数。这不会提高可读性,应谨慎使用。W0141:使用内置函数 %r。在使用黑名单内置函数时使用(请参阅 bad-function 选项)。通常列入黑名单的函数是 map 或 filter 之类的函数,Python 现在提供了一些更简洁的替代方法,例如列表理解。
R0912:分支太多(%s/%s)。当函数或方法有太多分支时使用,使其难以遵循。
R0913:参数太多(%s/%s)。当函数或方法接受太多参数时使用。
R0914:局部变量太多(%s/%s)。当函数或方法有太多局部变量时使用。
R0903:公共方法太少(%s/%s)。当类的公共方法太少时使用,因此请确保它确实值得。
W0212:访问客户端类的受保护成员 %s。当受保护成员(即名称以下划线开头的类成员)在类外部或定义它的类的后代访问时使用。
W0312:发现缩进为 %ss 而不是 %ss。当模块中有一些混合制表符和空格时使用。
C0111:缺少文档字符串。当模块、函数、类或方法没有文档字符串时使用。一些特殊方法,如
__init__
不一定需要文档字符串。C0103: 名称“%s”无效(应与 %s 匹配)。当名称与其类型(常量、变量、类…)关联的正则表达式不匹配时使用。