-
Notifications
You must be signed in to change notification settings - Fork 663
The Pull Request Review Process
You've already completed one massive hurtle by writing your PR. Now it goes through the next step which is the review process.
We believe that code improves as you gather diverse perspectives. Because of this all code goes through a review process to make sure it was seen by at least two people (you and your reviewer). Remember that everything your reviewer says is in the service of making the code better. Getting very few comments on a PR, or getting very many comments on a PR does not reflect you personally. You and your reviewer are working together to make your change as good as possible.
The PR review process goes through a few stages:
During the feedback stage a reviewer leaves suggestions for changes on your PR. These could be simple things like style nits. Or they could be larger things like asking you to reorganize your function definitions.
Reviewers are encouraged to use GitHub's code reviews (rather than making individual comments) so that you recieve a single notification instead of several.
The discussion phase is your chance to give feedback 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.
⭐ Note: For this to work, both parties need to go into the discussion with a spirit of collaboration. The goal is not to "win" but to make something you're both proud of.
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. Make sure that even when you're doing revision you're following the best-practices laid out in Writing a Good Pull Request.
The revision phase often happens at the same time as the discussion phase.
After the revision phase your reviewer has another chance to give feedback, and the process starts from the beginning. Usually a second review is not very large (if one is given at all). 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 review process repeats from here until you both feel happy with the state of your change.
The merge phase is your chance to celebrate.
You've done it! You've created a change, discussed and revised it, and finally gotten it merged into master! 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! 🎉