Pull Request Review Standards
Pull Request Review Standards
Section titled “Pull Request Review Standards”Required for +1
Section titled “Required for +1”-
Every PR should have an attached issue so that the PR reviewer knows what the intent was
-
PRs need to be small and focused - only one issue per PR
-
Don’t mix functional changes with style changes. If style changes, make a separate PR.
-
Design docs are required for a PR to be merged
- must link design doc in PR body
- for features but not for trivial PRs
-
If Feature Flag, then there must be a Design Doc. If Design Doc, then there must be a Feature Flag.
-
Tests are very important to look for in PRs. A couple things to do when looking at tests:
- If new low level functions, look for matching tests that are meaningful
- Commentary in the tests that describes what is being tested
- Helpful when debugging the test to know why the test was being written in the first place
- If not clear, ask for comments to tell a story
-
Unit tests are required for “hotspots” where we think there are the potential for hidden bugs
-
Architecture Design
- Coding best practices being followed
-
Do you understand this code and can you maintain it? If no, then no approval!
-
Must adhere to decisions from ADRs (including style)
Guidelines / Culture
Section titled “Guidelines / Culture”-
If you are going to go into a PR, expect to spend some time on it. It is respect for the person who wrote the code.
-
Use SOLID design principles
-
Design Docs should be done before the PR rather than after
-
Make meaningful PR descriptions
- Short videos can be super useful
- Or screenshots!
-
Ask questions
-
Be positive
-
Be polite: avoid phrases like “do ___” - know that we are on the same team and we aren’t holding back your PRs just because we don’t like you - bringing suggestions that are better for the code medium and long term
-
When we bring suggestions, they might not necessarily come along with PR
-
One way of resolving a conversation is by creating a ticket for future work
-
Feedback is a gift
