I have a legacy project using flake8 to check code quality and complexity, but the project has some very complicated (terrible) services which are returning complexity WARNING messages:
./service1.py:127:1: C901 'some_method' is too complex (50)
We are slowly transitioning into making them better, but we need to make jenkins (which is running tests and flake8) pass.
Is there a way to specify ignoring a code error or complexity per file, or even per method?
You can use
flake8-per-file-ignores
:And then in your config file:
If you want a per-method/function solution you can use the in-source
# noqa: ignore=C901
syntax.In your flake config add:
Try to experiment with the value for
max-complexity
to get more relevant number for your project.Edit: You can also ignore a line of your code or a file.
After you are done with the refactoring don't forget to change these settings.
If you have Flake8 3.7.0+, you can use the
--per-file-ignores
option to ignore the warning for a specific file:This can also be specified in a config file: