Traditionally we performed code review before commit, I had an argument with my colleague today, who preferred code review after commit.
First, here's some background,
we got some experienced developers and we also got new hires with almost zero programming practice.
we'd like to perform fast and short iterations to release our product.
we all team members locate at same site.
The advantages of code review before commit I've learned,
mentor new hires
try to prevent errors, failures, bad designs in early developing cycle
learn from others
knowledge backup if someone quits
But I also got some bad experience, like
low efficiency, some changes may be reviewed over days
hard to balance speed and quality, especially for newbies
some guy felt distrust
As to post-review, I just knew little about this, but the most thing I worried about is the risk of losing control, people never review.
Any opinions?