Why Code Review and How?

This collects some tips that have been discussed elsewhere:

Why CR?

  1. To catch bugs before it hits production
  2. To learn better ways of doing things
  3. Knowledge sharing with team

Issues with CRs

  1. Bike-shedding
  2. 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

Synchronous Post-commit CRs (Quora used to use this)