Review Guide
Guide and checklist for those reviewing a Pull Request
Checklist
If changes are needed


Once the PR is good to go
Pull Request Flow
Author opens a Pull Request to merge their branch into the development branch
Author completes the PR checklist:
Add PR to Asana ticket
Add changes to PR
Self review the code
GitHub will automatically assign 2-3 people as reviewers
1-2 Primary reviewers
1 Secondary reviewer
The Primary reviewer(s) will review according to the Checklist
Once happy, the Primary reviewers will approve the PR and tag the Secondary reviewer
The Secondary reviewer will quickly skim over the code and any comments, and will approve & merge the PR
Merging PRs
It is up to the Secondary reviewer to merge a PR once it has had at least 2 approvals (including 1 from themself).
Merges should be made using the "Squash commits" strategy to squash all development commits into a single commit.
That single commit must follow the Conventional Commits standard:
The Conventional Commits specification is a lightweight convention on top of commit messages. It provides an easy set of rules for creating an explicit commit history; which makes it easier to write automated tools on top of. This convention dovetails with SemVer, by describing the features, fixes, and breaking changes made in commit messages.
The commit message should be structured as follows:
The commit contains the following structural elements, to communicate intent to the consumers of your library:
fix: a commit of the type
fixpatches a bug in your codebase (this correlates withPATCHin Semantic Versioning).feat: a commit of the type
featintroduces a new feature to the codebase (this correlates withMINORin Semantic Versioning).BREAKING CHANGE: a commit that has a footer
BREAKING CHANGE:, or appends a!after the type/scope, introduces a breaking API change (correlating withMAJORin Semantic Versioning). A BREAKING CHANGE can be part of commits of any type.types other than
fix:andfeat:are allowed, for example @commitlint/config-conventional (based on the the Angular convention) recommendsbuild:,chore:,ci:,docs:,style:,refactor:,perf:,test:, and others.footers other than
BREAKING CHANGE: <description>may be provided and follow a convention similar to git trailer format.Additional types are not mandated by the Conventional Commits specification, and have no implicit effect in Semantic Versioning (unless they include a BREAKING CHANGE). A scope may be provided to a commit’s type, to provide additional contextual information and is contained within parenthesis, e.g.,
feat(parser): add ability to parse arrays.
Common Issues
Below are some common PR issues. Reviewers should look out for these issues, and request they are fixed unless the Author has a good reason to keep it as is.
Code does not comply with the styleguide
Code is hard to understand
Debugging logs are left in
Commented out code has been left in
anyhas been usedLogic is duplicated
A function has been marked as
asynchronous when it does not need to be
Frontend
The spacing does not match the design
The font size does not match the design or project standard
The colour is not correct
Navigation or Route props/hooks have not been typed
Screens have been placed in the
OutsideNavigatorfor no clear reasonInline styles are used excessively
Components are too large
Components contain too much business logic
API errors are not handled
Loading states are missing
Backend
An entity has been changed but a migration has not been generated
A migration includes changes that are not relevant to this change
Tests have not been added/updated
Resolvers contain too much business logic
A service is interacting directly with another service's entity
Fields are missing descriptions
Last updated
Was this helpful?