python - 皮林特最佳实践

标签 python static-analysis pylint

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

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

最佳答案

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

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:公共(public)方法太少 (%s/%s)。当类的公共(public)方法太少时使用,所以确保它真的值得。

W0212:访问客户端类的 protected 成员 %s。当 protected 成员(即名称以下划线开头的类成员)可在类外部或定义它的类的后代访问时使用。

W0312:发现缩进是 %ss 而不是 %ss。当模块中有一些混合的制表符和空格时使用。

C0111:缺少文档字符串。当模块、函数、类或方法没有文档字符串时使用。 __init__ 等一些特殊方法不一定需要文档字符串。

C0103:名称“%s”无效(应与 %s 匹配)。当名称与其类型(常量、变量、类...)关联的正则表达式不匹配时使用。

关于python - 皮林特最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4395499/

相关文章:

c# - 使用 NDepend 查看代码指标的趋势

pylint 和预提交 Hook 无法导入

python - 通过 pylint 处理用户提出的弃用警告

python - 避免在 gitlab CI 脚本管道中提前退出命令,同时仍捕获退出状态

python - 一旦发生,就在 Pandas 中填写一个值

使用正则表达式的 Python 跨文件搜索

static-analysis - 如何学习静态分析?

c++ - 是否有任何静态检查工具来检查这样的错误代码

python - 仅替换字符串中最后一次出现的位置

python - 如何指向给定变量python的方法