flake8-return
Flake8 plugin that checks return values.
Installation
pip install flake8-return
Errors
- R501 you shouldn`t add None at any return if function havn`t return value except None
def x(y):
if not y:
return
return None # error!
- R502 you should add explicit value at every return if function have return value except None
def x(y):
if not y:
return # error!
return 1
- R503 you should add explicit return at end of the function if function have return value except None
def x(y):
if not y:
return # error!
return 1
- R504 you shouldn`t assign value to variable if it will be use only as return value
def x():
a = 1
# some code that not using `a`
print('test')
return a # error!
Returns in asyncio coroutines also supported.
License
MIT
Change Log
Unreleased
- ...
1.1.1 - 2019-09-21
- fixed #3 The R504 doesn't detect that the variable is modified in loop
- fixed #4 False positive with R503 inside async with clause
1.1.0 - 2019-05-23
- update flask_plugin_utils version to 1.0
1.0.0 - 2019-05-13
- skip assign after unpacking while unnecessary assign checking "(x, y = my_obj)"
0.3.2 - 2019-04-01
- allow "assert False" as last function return
0.3.1 - 2019-03-11
- add pypi deploy into travis config
- add make bump_version command
0.3.0 - 2019-02-26
- skip functions that consist only
return None
- fix false positive when last return inner with statement
- add unnecessary assign error
- add support tuple in assign or return expressions
- add suppport asyncio coroutines
0.2.0 - 2019-02-21
- fix explicit/implicit
- add flake8-plugin-utils as dependency
- allow raise as last function return
- allow no return as last line in while block
- fix if/elif/else cases
0.1.1 - 2019-02-10
- fix error messages
0.1.0 - 2019-02-10
- initial