How to Review Code

By that, I mean "the way". It makes everyone on the team play like the best.

What we've done over time is try to replace an individual's skill with automation.

It's better to increase the skill of the individuals.

A very effective way to up the individual's level is through more group-level work. The first 10 years of my coding career, we didn't even have source control. Source modules were moved into production after thorough code and test run reviews in a team atmosphere. Everyone gets the code diffs to discuss.


What might interest the reader is that the biggest value from this activity wasn't just a state-of-the-art (at least using the combined expertise of everyone) version of the code change under review. The biggest value was that the "best practice" was instantly spread to even the most junior of teammates.


(I'm aware that code reviews are a part of many CI-class tools. Just as I'm aware the process gets so formalized that sometimes we have people approving changes just to get through them, with only 1 or 2 others actually looking hard at the code or understanding the context of the change.

There's just so much inefficiency and static built into that back and forth online dialog vs. a face to face discussion where the best idea is synthesized. And unless everyone participates with due diligence, the best practice stays with just a few.)


Any team of performers does this group level type of work with every practice -- from orchestras to an offensive line -- because they can't automate the individual skill out of the performance. Just because we can doesn't mean we should have.


Imagine how fast your quality and consistency improves.