A flake8 extension that checks functions
Project description
flake8-functions
An extension for flake8 to report on issues with functions.
We believe code readability is very important for a team that consists of more than one person. One of the issues we've encountered is functions that are more that two screens long.
The validator checks for:
- CFQ001 - function length (default max length is 100)
- CFQ002 - function arguments number (default max arguments amount is 6)
- CFQ003 - function is not pure.
- CFQ004 - function returns number (default max returns amount is 3)
Installation
pip install flake8-functions
Example
def some_long_function(
first_parameter: int,
second_parameter: int,
third_parameter: int,
):
first_parameter = (
first_parameter +
second_parameter +
third_parameter
)
first_parameter = (
first_parameter +
second_parameter +
third_parameter
)
first_parameter = (
first_parameter +
second_parameter +
third_parameter
)
first_parameter = (
first_parameter +
second_parameter +
third_parameter
)
return first_parameter
Usage:
$ flake8 --max-function-length=20 test.py
test.py:1:0: CFQ001 "some_long_function" function has length 25
that exceeds max allowed length 20
Error codes
Error code | Description |
---|---|
CFQ001 | Function "some_function" has length %function_length% that exceeds max allowed length %max_length% |
CFQ002 | Function "some_function" has %args_amount% arguments that exceeds max allowed %max_args_amount% |
CFQ003 | Function "some_function" is not pure. |
CFQ004 | Function "some_function" has %returns_amount% returns that exceeds max allowed %max_returns_amount% |
Code prerequisites
- Python 3.7+;
Contributing
We would love you to contribute to our project. It's simple:
- Create an issue with bug you found or proposal you have. Wait for approve from maintainer.
- Create a pull request. Make sure all checks are green.
- Fix review comments if any.
- Be awesome.
Here are useful tips:
- You can run all checks and tests with
make check
. Please do it before TravisCI does. - We use BestDoctor python styleguide.
- We respect Django CoC. Make soft, not bullshit.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flake8_functions-0.0.8.tar.gz
.
File metadata
- Download URL: flake8_functions-0.0.8.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5446626673a9faecbf389fb411b90bdc87b002c387b72dc097b208e7a58f2a1c |
|
MD5 | fdab1ace3178a5d520ae696be895f547 |
|
BLAKE2b-256 | 7ef4af475b75382a6403a6a184f01ae42e8c9bdd97ee8e84b4c4d6660da0f4d9 |
File details
Details for the file flake8_functions-0.0.8-py3-none-any.whl
.
File metadata
- Download URL: flake8_functions-0.0.8-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1a88aa634d1aff6973f8c9dd64f30ab2beaac661e52eea96929ccc7ee7f64df |
|
MD5 | 41b273df95e8fbac813d9b60039436ea |
|
BLAKE2b-256 | e31a2ff8d074e42ad864fe5378cff28ccf758d4b039167c5384480b703aea222 |