Jones Complexity checker, plugin for flake8
Project description
Flake8 extension to calculate per-line complexity and total code density.
Installation
$ pip install jones-complexity
Usage (Standalone)
$ python -m jones_complexity --min 5 your_file.py
Usage (flake8)
$ flake8 --max-line-complexity 15 --max-jones-score 8 yourproject
What is this?
Because
if user.get_full_name().toUpper().split(' ')[0] == 'ALICE':
return True
is harder to read and maintain than
if first_name == 'Alice':
return True
Shamelessly named after myself, in the tradition of McCabe and Halstead.
Examples
Itself:
$ python jones_complexity.py jones_complexity.py Line counts: { "39": 19, "46": 15, "137": 12, "115": 12, [...] "18": 1, "9": 1, "148": 1 } Jones Score: 4.0
$ p jones_complexity.py pyesprima.py Line counts: { "4182": 265, "3688": 190, "4186": 189, "48": 189, "4181": 164, [...] "1201": 1, "3728": 1 } Jones Score: 9.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jones-complexity-0.1.2.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for jones_complexity-0.1.2-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa636165499d077537a9942d020e8ab148ab7fa3be8c0cafbf6693a77e5759f1 |
|
MD5 | fb51dbbd2073cfe0658d14a5be5a39f7 |
|
BLAKE2b-256 | 0cd006300564e39accf7bf7b1518871677eae4a4617ebc19efd65ad30d245358 |