Code:
- Change is covered by unit-tests
- Code is well documented, well styled and is following best practices
- Performance issues have been taken under consideration
- Errors and other edge-cases are handled properly
PR:
- Problem and/or solution are well-explained
- Commits have been squashed so that each one has a clear purpose
- Commits have a proper commit