h1. Clean code draft This draft is about best practice for development not already covered with the use of PEP 8, Pylint and Mypy. h2. Comments * Every comment (about the code) is a failure to not write otherwise readable code. * No *to do* comments. In between as a note for one self is ok but not in shared code like e.g. in the *main* or *develop* branch. h2. Functions * Avoid boolean parameters, interesting articles explaining why: ** https://martinfowler.com/bliki/FlagArgument.html ** https://medium.com/@amlcurran/clean-code-the-curse-of-a-boolean-parameter-c237a830b7a3 h2. Control structures * no switch statements * if: only one line after (use function call) * try-catch: no code before and after, only one line inside (use function call) h2. Principles * "SOLID":https://realpython.com/solid-principles-python/ * "DRY":https://realpython.com/lessons/dry-principle/ * "YAGNI/KISS":https://dev.to/hassanelseoudy/yagni-kiss-principles-gl2