-
both gatekeeping and editing
- preventing incorrect, insecure, maintainable code from entering the codebase
- providing advice and suggestions for potential improvements concerning readability, best practices/conventions, abstraction and/or performance
-
PR review is based on the assumption that any written code benefits from being looked at through the perspective of another person with a different expertise & focus
-
PR reviews are feedback on the code, never feedback on the person who wrote it
- PR are solving a problem in the best way within given constraints
- in case conflicting goals/constraints, priorities are in ascending importance:
- not breaking the build (mandatory automated checks must pass)
- functionality: should solve the given problem
- correct code (working for corner cases, secure)
- maintainable code (modular, readable)
- follows best practices of the project
- any code with significant complexity, importance or which is prone to changes should be tested automatically, eoither through existing or new tests
- PRs should have a helpful and up-to-date description (title and body) helping the reviewer to understand the context of the PR (what, why, how)
- the PR author should take care of maintaining the PR during its review phase by resolving conflicts when they appear