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.

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

  1. The article offers a thoughtful discussion of code review boards, balancing the benefits of collaborative feedback with the practical challenges of public or group-wide reviews. I appreciate how the author separates the good, bad, and ugly aspects, particularly the value of receiving different perspectives on design, bugs, best practices, and technical debt while also recognizing the stress and communication issues that can accompany public review.

    The discussion emphasizes that effective code reviews should encourage professional, constructive conversations rather than personal criticism. The observations about review comments, email noise, naming preferences, and maintaining a precise and assertive response provide useful lessons for software teams. This collaborative development perspective makes Python Coding Course a relevant learning area for developers who want to strengthen their programming practices and produce code that can withstand structured review.

    ReplyDelete
  2. The article’s closing challenge, asking readers to identify a bug through code review and then compare that experience with running the code without debugging, adds an engaging practical dimension. It reinforces the importance of reading code carefully, communicating observations constructively, and separating useful technical feedback from personal preferences. These practices are also valuable for learners developing disciplined programming habits through Python Coding Training, where writing understandable and maintainable code is an important foundation.

    ReplyDelete

Post a Comment

Keep it clean, professional and constructive. Everything else including ethnic or religious references will be removed.

Popular posts from this blog

Running an Asp.Net Core 2.* Web API as a Windows Service

Reviving old hardware en mass or: How I Learned to Stop Worrying and Love the ZorinOS Linux Distribution

Evaluating NDepend on current codebase Part 2