一个用于检查表达式复杂性的flake8扩展
项目描述
flake8-expression-complexity
一个用于flake8的验证表达式复杂性的扩展。
将代码分割成表达式并按照复杂度进行评分。如果表达式比阈值复杂,则触发错误。
默认复杂度为7,可以通过--max-expression-complexity
选项进行配置。
由于Django ORM查询可以生成长且可读的表达式,检查器可以跳过它们。要启用此行为,请使用--ignore-django-orm-queries-complexity
选项。
安装
pip install flake8-expression-complexity
示例
if (
(user and user.is_authorized)
and user.subscriptions.filter(start_date__lt=today, end_date__gt=today).exists()
and (
user.total_credits_added
- Check.objects.filter(user=user).aggregate(Sum('price'))['check__sum']
)
and UserAction.objects.filter(user=user).last().datetime > today - datetime.timedelta(days=10)
):
...
用法
$ flake8 --max-expression-complexity=3 test.py
text.py:2:5: ECE001 Expression is too complex (7.0 > 3)
错误代码
错误代码 | 描述 |
---|---|
ECE001 | 表达式过于复杂(X > Y) |
贡献
我们非常欢迎您为我们的项目做出贡献。这很简单
- 创建一个包含您发现的bug或您提出的建议的问题。等待维护者的批准。
- 创建一个pull request。确保所有检查都是绿色的。
- 如果有任何审阅评论,请修复。
- 表现得棒棒的。
以下是一些有用的提示
- 您可以使用
make check
运行所有检查和测试。请在TravisCI之前完成。 - 我们使用BestDoctor Python风格指南。
- 我们尊重Django行为准则。做软的,不做垃圾。
项目详情
关闭
flake8_expression_complexity-0.0.11.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4dd8909fecbc20f53814cdcef9d0b04f61532764278d9b6e8026686812e96631 |
|
MD5 | f621be803c47473db0f1cfc0bd6599fe |
|
BLAKE2b-256 | 19715bfb69acbfd319add958c70b60e68aee8914d4a5e243b87f4fcda249cf7b |
关闭
flake8_expression_complexity-0.0.11-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b56bac37f7dd5d3d102a7111c89f6579c2cbd897b868147794c9ed12aadc627c |
|
MD5 | b806a6ba0bb47ad3c44bcf7e96a90eb7 |
|
BLAKE2b-256 | bc206707c990610d45a3a961345ad5fdabf096cac5a1ce8571581f5787453574 |