too-many-positional-arguments (PLR0917)
源自 Pylint 代码检查工具。
此规则不稳定且处于预览状态。使用需要 --preview
标志。
作用
检查包含过多位置参数的函数定义。
默认情况下,此规则允许最多五个参数,可以通过 lint.pylint.max-positional-args
选项进行配置。
为什么这不好?
具有许多参数的函数更难理解、维护和调用。 对于具有许多位置参数的函数尤其如此,因为按位置提供参数比按名称提供参数更容易出错,并且对读者来说也不够清晰。
考虑将具有许多参数的函数重构为具有较少参数的较小函数,使用对象对相关参数进行分组,或迁移到 仅关键字参数。
示例
建议改为
def plot(x, y, z, *, color, mark, add_trendline): ...
plot(1, 2, 3, color="r", mark="*", add_trendline=True)