This re-enables the pylint too-many-positional-arguments for the main application code. It's still disabled for tests because that's how you pull in pytlint fixtures, and I don't think we want to push people into being creative with fixtures just to get around that. When functions are called with many positional arguments the reader has to do a bit of heavy lifting to figure out in what position a value is being passed, and it's easier to make mistakes. So I would like to encourage using keyword arguments for long argument lists. I've set the `max-positional-arguments` to a completely arbitrary 7, from a completely arbitrary 5, because there were many more violations under 7. If like 99% of our functions fit under 7 it's probably fine. Regarding the exceptions: * objreg.register: I grepped it and it looks like everything is only passing the first two args as positional already, lucky! * `_get_color_percentage`: only one usage of it, but I was in "add directive comment" mode * update_3rdparty.py: only one usage, already using kwargs * pyqtProperty: idk * commands.py: "its complicated". Many methods in this file map to commands used in qutebrowser's command mode. In that case it's usual for them to be called as flags, rather than positional. But it could be complicated to wade into that, and having one file excluded isn't so bad. |
||
|---|---|---|
| .. | ||
| dev | ||
| testbrowser | ||
| __init__.py | ||
| asciidoc2html.py | ||
| cycle-inputs.js | ||
| dictcli.py | ||
| hist_importer.py | ||
| hostblock_blame.py | ||
| importer.py | ||
| keytester.py | ||
| link_pyqt.py | ||
| mkvenv.py | ||
| open_url_in_instance.sh | ||
| opengl_info.py | ||
| setupcommon.py | ||
| utils.py | ||