Tuesday, September 16, 2008

Get Your Code Reviewed....Pronto!!!

The life of a software engineer is a tough one. Not at all a walk in the park, having to deal with many a bugs, fixes, new features, new products for customers. But when it boils down to where you have to hand over a quality piece of software, it pays to have a decent code that not only works but also screams "Hey....Look at me, this is how you write right code the right way!!"

Advantages of Code Reviews
Code reviews not only help the programmer to understand his deficiencies & show him how to improve his coding skills, but also helps the reviewer to get a proper understanding of what areas his team members need more help in, what technologies they are comfortable using, the design patterns they use (if at all they use it), if the design document reconciles with the implementation and so on.

From a sociological point of view, it improves communication between team members, negotiation skills, presentation skills and also provides a good platform for them to share technical know-how within the same work group.

Uh-oh! It's The Code Review Day...
Typically a review is conducted by a team. You have the developer, whose code is being reviewed, the review team, who would go through your code and identify the loopholes, better ways of doing the same task etc., a record keeper, who would keep minutes of the meeting and also a moderator who would facilitate the order and the flow of the meeting. A code review is generally not meant to provide answers for the problems in the code. It helps you "identify" the bugs and issues. Fixing the problems is done after the review and the fixed version is reviewed again.

It is this cyclical pattern of the review sessions which puts project managers on the back foot. Whatever said and done, a review does take roughly 2 or 3 hours. So, if the project is running on a tight schedule it may not be feasible for the managers to allocate much time as desired by the review team. Nevertheless like in everything else, it is a trade-off between delivering the product quick and delivering a quality product!

Read this article published by Microsoft on how to conduct code reviews, the process & also tips and tricks. There is no hard and fast rule saying that this is THE code review process. The techies are free to mould their own process to fit to their development environment.

1 comment:

Big J said...

Nice Article, the importance of code review and what it does to the quality of output cannot be measured without trying.

A good tool to do code reviews with teams scattered around the globe is Code Collaborator by SmartBear

The site also have some really good articles and a white paper on
11 Best Practices for Peer Code Review