Code Reviews
Traditional approaches put a lot of emphasis on Code Inspection or Reviews for finding defects. In human terms, that is like an editing process. The problem with code inspection is that, even under the best circumstances, it finds very few defects, and the ones that it does find are shallow. The challenge is that our brains are just not designed to read through hundreds of lines of code in a single sitting. When we do this activity, we tend to notice small opportunities for improvements (e.g. a method or variable are poorly named) and we might spot a way of simplifying a few lines of code. But what we fail to do is ask bigger questions about the design, flow, etc. Most things that a human code review finds are better spotted by static analysis tools.
Consider Pair Programming or, even better, Ensemble Programming instead.
Resource Links
- The case against code reviews - Jo Crossick - Code review vs. Pair programming
- Evolving Code Reviews Into Pair Programming
- Pair Programming > Code Reviews - Theodore Nguyen-Cao