跳转到主要内容

Flake8 关键字参数验证

项目描述

flake8-keyword-params

flake8 插件,要求可选参数必须是关键字参数。

这是一个高度具有个人观点的插件,断言可选参数应该是关键字参数(见PEP-3102)。通常要求可选参数使用关键字可以提高使用时的可读性,特别是对于很少使用或可能落入布尔陷阱的参数。

请注意,在处理此插件发现的问题时,有时将参数改为关键字参数不如将其改为非可选参数或位置参数好(见PEP-570)。

接受存在一些常见的用例,其中关键字参数提供很少的价值,此插件允许一个安全名单,其中包含允许为可选的函数名和参数。默认情况下包含一个小的预定义集合,但可以通过配置选项进行扩展或替换。请随时提交问题以请求更多默认安全条目,特别是Python标准库中的任何条目。

安装

标准的Python包安装

pip install flake8-keyword-params

选项

keyword-params-safelist : 向安全名单添加一个函数,可指定多次

keyword-params-exclude-safelist : 从安全名单中删除一个函数,可指定多次

keyword-params-include-name : 在消息中包含插件名称

keyword-params-no-include-name : 在消息中不包含插件名称(默认设置)

所有选项都可以使用带 -- 前缀的命令行指定,或者可以放在您的 flake8 配置文件中。

白名单选项可以指定一个裸函数名称,这样所有参数都可以是可选的,无需关键字,或者是一个函数名称,后跟一个冒号,后跟一个参数名称。在后一种情况下,只有指定的参数可以是可选的,无需关键字。函数名称和参数名称都可以是正则表达式。

例如

flake8 --keyword-params-safelist=get:default --keyword-params-safelist="from_.*:default"

在 .flake8 或 setup.cfg 中

[flake8]
keyword-params-safelist = get:default from_.*:default

或在 pyproject.toml 中

[tool.flake8]
keyword-params-safelist = ['get:default', 'from_.*:default']

错误代码

代码 信息
KWP001 可选参数 'param' 应仅使用关键字

示例

def foo(x=None):  <-- KWP001

def get(key, default=None):  <-- No error, common use case

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

flake8-keyword-params-1.2.0.tar.gz (6.5 kB 查看哈希值)

上传

构建分布

flake8_keyword_params-1.2.0-py3-none-any.whl (5.6 kB 查看哈希值)

上传 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面