I was performing a code review with one of my colleagues, Lee, the other day and we were arguing about how a piece of code should work. I said it should work this way, he said it should work that way.
We were being a bit vocal about it when another one of my colleagues, Tay, came over and asked what all the fuss was about. After a few deep breaths Lee told Tay about the problem we were having and Tay replied “You’ve got your reviews mixed up, you think you are performing a code review when really you are performing a design review”
Lee and I looked at each other blankly. Tay rolled his eyes and explained.
“A code review should be a low level review. Does the code meet the documentation standards? Could the algorithm you have implemented be replaced by a different algorithm at a later date? That kind of thing.” Tay continued “what you two are arguing about is a design review. You know, you write your design down on the back of a napkin, and then discuss that. It’s more high level. A bit like the difference between a unit test and an integration test.”
Lee and I looked at each other sheepishly. Of course Tay was right. So we both said thanks for his help and peace and love were returned to the office.
Do you perform both code reviews and design reviews? I would love to know so feel free to leave a comment.