The Wayback Machine - https://web.archive.org/web/20201018071932/https://github.com/Melevir/flake8-cognitive-complexity
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
May 16, 2020
Aug 1, 2020
May 16, 2020
May 16, 2020

README.md

flake8-cognitive-complexity

Build Status Maintainability Test Coverage PyPI version PyPI - Python Version

An extension for flake8 that validates cognitive functions complexity.

Cognitive complexity is analog of cyclomatic complexity, that measure how difficult to understand piece of code. Introduced by G. Ann Campbell and currently used by SonarSource, CodeClimate and others. You can find more readings about cognitive complexity in cognitive-complexity readme file.

Default complexity is 7, can be configured via --max-cognitive-complexity option.

Installation

pip install flake8-cognitive-complexity

Example

def f(a, b):
    if a:
        for i in range(b):
            if b:
                return 1

Usage:

$ flake8 --max-cognitive-complexity=3 test.py
text.py:1:5: CCR001 Cognitive complexity is too high (6 > 3)

Tested on Python 3.7.x and flake8 3.7.8.

Error codes

Error code Description
CCR001 Cognitive complexity is too high (X > Y)

About

An extension for flake8 that validates cognitive functions complexity

Topics

Resources

License

Packages

No packages published
You can’t perform that action at this time.