Why Code Review and How?
This collects some tips that have been discussed elsewhere:
Why CR?
- To catch bugs before it hits production
- To learn better ways of doing things
- Knowledge sharing with team
Issues with CRs
- Bike-shedding
- Adds delays
Approaches to CRs
Synchronous Pre-commit CRs
This is especially useful when risk of a change is high or you are not sure of the implementation. Google, Amazon, etc. use this widely. It's also a common pattern for Open Source projects.
Advantages
- Catch a bug before it hits production
- Learn better ways of doing things
- Knowledge Sharing
Synchronous Post-commit CRs (Quora used to use this)