This week, Smart Bear software ran a special sale of their Code Reviewer tool: 5 licenses for $5. Since licenses are usually $289 a person, I figured this was a pretty good deal.
Code Reviewer is a lighter version of the companies main product, Code Collaborator. Code Reviewer is a web application you put on your project server and then it will interact with your version control, bug tracking, etc automatically. I was pretty excited by the idea of this. As usual though, the idea of something is different from its actuality.
I’d previously gotten the free book on peer code review that the company publishes. The book is all about how much time and money peer code review can save you, since bugs are caught before they get to QA or to the customer, at which point they are expensive to fix. After reading the book, I really wanted to try using peer review, both with a team as well as just by myself.
It’s important for a peer code tool to interface with your version control to make things go smoother. For version control, I like to use Mercurial. It’s a good tool that does what I want, and hey look, Code Reviewer supports it! If you read the rest of Code Reviewer’s documentation though, it just provides diff support for Mercurial. I can do diffs myself, thank you. But that’s OK, I’m fine with doing manual version control; I prefer it actually.
Installation was very straight forward: Start the shell script on Linux or go click ‘Next’ a few times in the Windows installer. (Sadly, there’s no Mac version of the Server, just a client.) After about 5-10 minutes of going through installation and configuration, I successfully had a Code Reviewer instance running. Kudos for the ease of installation!
When first using Code Reviewer, I was very impressed with all that it could do. It had menus and options for everything you could imagine related to peer review! However, as I started to play around with the product, I realized that, to be effective, it really HAS to have a bunch of people using it. I quickly got tired of flipping through menus on a project where I was the only developer. Being a student, nearly every project I do is by myself, so such a feature rich interface isn’t best for me.
I’m happy I got the software, because I do want to do some code work with a few friends at school or other class projects and I’m sure in this situation, code reviews will be very beneficial. In that scenario, the Code Reviewer provides tons of features that will help a team be more productive.
In the near future though, I don’t see myself using this software too much; the software just isn’t lightweight enough to be used by a single developer. Though I guess it is meant to be used for PEER code review, not self code review, so I can’t be upset about this. In fact, I look forward to coming across a situation where I can use this tool.