Code is self-documented and follows style guidelines.
Automated tests are written and pass successfully.
Regression tests (e.g. manually triggered system tests, manual GUI/tool tests, ...) are performed to make sure the MR does not break anything (when applicable)