皮林特最佳实践

新手上路,请多包涵

Pylint 看起来是运行 Python 代码分析的好工具。

但是,我们的主要目标是捕获任何潜在的错误,而不是编码约定。启用所有 Pylint 检查似乎会产生很多噪音。您使用并有效的 Pylint 功能集是什么?

原文由 amit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 353
1 个回答

您可以通过以下方式阻止任何您不喜欢的警告/错误:

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 匹配)。当名称与其类型(常量、变量、类…)关联的正则表达式不匹配时使用。

原文由 muckabout 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题