After this review cycle, reviewers mark the code as okay, and Rose can finally check-in the code into the common code base.
I'm kind of surprised that pre-commit reviews are apparently the default at Microsoft.
In my experience having done both, it's so much easier to just review pull requests (so after commits).
- The tooling is easier (the diffing and building and static analysis that is mentioned, for example, can just be done on the code in the branch). Manually attaching test results to reviews sounds really 2005.
- It is much easier to guarantee that all code is reviewed. If uploading code to review and committing it are separate steps, you'll need some validation.
- You can continue making related changes on the branch while review is ongoing. You can also pull in changes from master, and they won't pollute the review (maybe CodeFlow can understand this; I used another pre-commit review tool that couldn't, while it's easy with git).
- Committing code regularly means you don't need local backups on your development machine.
It's such a big company and they apparently analyzed the review process in quite some detail. I wonder if I am missing something, or Microsoft is.
Despite my disagreement with this aspect, this is a useful series with useful information! Made that bold to emphasize it as the tone of this comment is quite negative despite me liking the series :-)