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 gotWe have some experienced developers and we also gothave new hires with almost zero programming practiceexperience.
- we'dWe'd like to perform fast and short iterations to release our product.
- we allAll team members locateare located at the same site.
The advantages of code review before commit I've learned,:
- mentorMentor new hires
- tryTry to prevent errors, failures, bad designs in early developingin the development cycle
- learnLearn from others
- knowledgeKnowledge backup if someone quits
But II've also gothad some bad experience, likeexperiences:
- lowLow efficiency, some changes may be reviewed over days
- hardHard to balance speed and quality, especially for newbies
- some guyOne team member felt distrust
As to post-commit review, I just knewknow little about this, but the most thing II'm most worried about is the risk of losing control, people never due to lack of review.
Any opinions?
UPDATE:
- We're using Perforce for VCS
- We code and commit in the same branches (trunk or bug fixing branches)
- To improve efficiency, we've tried to split code into small changes, we've. We've also tried some live dialog review, but not everyone followed the rule. This is another problem though.