一个flake8扩展,用于检查循环复杂度并在运行时计算最大复杂度限制
项目描述
flake8-adjustable-complexity
flake8的一个扩展,用于报告具有糟糕变量名的复杂函数。
有时你希望在某个函数内部使用过于通用的变量名。在这种情况下,你希望确保该函数比其他函数更简单,这样读者就不必长时间记住变量的含义以及其他逻辑。
此插件为每个函数单独计算最大允许的循环复杂度。默认值为7,对于函数内部黑名单中的每个变量,它会减少2。如果实际复杂度超过计算出的最大复杂度,则插件会报告错误。
目前报告以下错误
代码 | 描述 |
---|---|
CAC001 | func 太复杂(complexity > 最大允许复杂度 ) |
CAC002 | func 太复杂(complexity )。变量命名惩罚过高(惩罚 ) |
安装
pip install flake8-adjustable-complexity
配置
该插件有以下配置选项
--max-mccabe-complexity
(或--max-adjustable-complexity
)- 最大允许的圈复杂度。--per-path-max-adjustable-complexity
- 每个路径的复杂度设置。选项的值必须是逗号分隔的<path>:<complexity>
对的列表。--var-names-extra-blacklist
- 要黑名单的坏变量名的逗号分隔列表。每个变量都会影响最大允许的复杂度。--var-names-whitelist
- 要白名单的坏变量名的逗号分隔列表。
所有选项也可以通过 setup.cfg
中的 [flake8]
部分指定。
示例
示例文件
# test.py
def foo():
for vars in range(5):
for info in range(5):
for obj in range(5):
pass
用法
$ flake8 test.py
test.py:1:1: CAC001 foo is too complex (4 > 1)
贡献
我们希望您能为我们的项目做出贡献。这很简单
- 创建一个包含您发现的错误或您提出的建议的问题。等待维护者的批准。
- 创建一个拉取请求。确保所有检查都是绿色的。
- 如有必要,修复审查评论。
- 表现得很好。
以下是一些有用的提示
- 您可以使用
make check
运行所有检查和测试。请在 TravisCI 运行之前完成此操作。 - 我们使用 BestDoctor Python 编程风格指南。
- 我们尊重 Django 行为准则。做软的,不要做烂的。
项目详情
关闭
哈希值 for flake8_adjustable_complexity-0.0.6-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6c84d22aba91b6ccea2cd9d240f76e1cc973232322e64d89f07d803fcd547042 |
|
MD5 | 6e2407efe289198774691ebad7d07692 |
|
BLAKE2b-256 | defa3f5515b7a05edfdbb0555354867962a04a58d236421a8cf61e13bf622d38 |