Code Review Boards - How to stay professional
I have recently come across the concept of a code review board. At first it was an awkward moment; My change set was out there for all the world to see and comment. I admit I was stressed about it and with good reason. What I will do in this post is put the record straight, as far as I am concerned, on the good, the bad and the ugly of public/social code reviews. And since in the near future my code will be standing there naked for all to see on some public repository, this should make for a very good exercise on what to expect and what to reject when it comes to review boards. TL;DR Code reviews are good. Review boards meh...
Past (nearly) perfect
At some point during my searching for topics to write I recalled some articles I wrote back in the day on CodeProject. And I also do remember that, unless your article was pure garbage, review of the article and comments where polite, leveled and cool headed. Social media was not that proliferated and people did not openly enjoy putting others in a defensive position on a whim. Oh and by the way one can find links for those articles in this static page in this blog.
The Good
The good thing about having people crowd-review your code is that you get everyone's perspective on what you wrote, be it for the design of your code, potential bugs, or best practices. In a perfect world you can have a professional discussion about it and solve problems, decide on a course of action on technical debts or develop a philosophical discussion.
Producer/Consumer Repo
The Bad
The bad thing about review boards (especially when they are group wide), are the email "noise" they produce. Every single comment will be, most definitely, sent by email to every member in the group at any time of the day... or night.
The Ugly
Although code reviews are good and between professionals are even better, there is always that person with the annoying comments. The person who has something to say no matter what. Who doesn't like your naming scheme. Who thinks that if(A && B)is not clear enough (to this person's opinion) then the elements around the && have to be switched. The petty one. Be polite but precise and assertive to your answers to that person. Be constructive when commenting that person's code. Be professional. Hopefully that person will get off your back. Hopefully but not probably.
Having said all that, in the link below is the base repository on which quite a few post will be based upon. And it has a bug!!! Can you spot it without running the code (review it)? Can you spot it after reading the code, running but not debugging? Leave a comment below and let me know!
Producer/Consumer Repo
Comments
Post a Comment
Keep it clean, professional and constructive. Everything else including ethnic or religious references will be removed.