Our review process has several goals:
- Ensure high quality code, in both functionality and readability.
- Catch bugs, because bugs happen.
- Maintain consistent style so that it's easy to start working in any part of the codebase.
As reviewers, we aim to work with you to make your change as good as possible. We ask that you, as contributors, engage in conversation with us to get your pull requests through review and merged.
The PR review process goes through a few stages:
When your pull request comes in, the on-call member of the Blockly team assigns a reviewer.
Reviewers are chosen based on expertise and to evenly distribute workload.
It may take a few days to get a reviewer assigned, and a few more days to get a review. Don't worry, this is normal.
Reviewers are encouraged to use GitHub's code reviews (rather than making individual comments) so that you receive a single notification instead of several.
The discussion phase is your chance to respond to the feedback. Maybe one of the review comments wasn't clear: now is your chance to ask for clarification. Or maybe your reviewer requested a change, but you think it will have repercussions: now is your chance to find a compromise.
The revision phase is where you get to make changes to your PR. Usually these changes are a result of something your reviewer has said in the feedback phase.
Once you have completed your revisions it can be helpful to tag your reviewer asking them to take another look.
After the revision phase your reviewer has another chance to give feedback, and the process starts from the beginning.
Often a second review is simple and focuses on nits such as punctuation and code style. But sometimes a second review can be quite big. Your first reviewer may even ask someone else to take a look, to get a fresh perspective.
The merge phase is your chance to celebrate. You've created a change, discussed and revised it, and finally gotten it merged! This is a grand achievement that many people never start, let alone complete!
Thank you for all of your hard work to make Blockly better. And congratulations!