One of our business partners picked up this book at the door64 tech fair in Austin recently and tossed it off to me.
I wanted to mention that I thoroughly enjoyed the book. An easy read (I started and finished it while watching some TV Monday night), the main focus is on lightweight code reviews. For those of us in small development shops it can be hard to justify to management why time on code reviews (personal or peer based) needs to be spent and how it directly saves money for the business. When it comes to books on peer code review there just aren’t that many so I was psyched when this dropped in my lap but a little hesitant as it looked to be basically adware. Luckily I proven wrong.
I’d recommend this short primer to anyone who is struggling with the “code -> test -> deploy” process practiced at a lot of development shops or wants to justify to management the need for peer (or personal) code reviews. When dealing with management it’s often difficult to justify why programmers want to follow process X or process Y and this book is lightweight enough to pass onto any layman.
Above all the best section in this book, for me, deals with how to conduct a personal code review. In a smaller development shop you may be the only one to work on a single product or in a particular language or focus. (For instance in many past ventures I have been the only developer for various products.) This can be a severe disadvantage at times, for while the lone developer has almost complete leeway, they do not always know “is this right” or even “is this going to work.” When coding solo, my process was to to code, personally test, send to testing peeps (if available), patch if necessary and publish. This has sucked beyond all measure at times due to bugs getting to customers and past testing. Occasionally you just need someone to give you a push in the right direction and in my case this book shoved me towards individual checklists to run through when reviewing your own code as well as helping establish the proper amount of time to set aside to do a thorough personal review. While that may sound minor, sometimes even the most minor thing can help push you in a better direction. If formalizing the personal review process helps you catch even 10% more bugs that would be customer facing, then this book was a worthwhile read. Beyond that, keeping a checklist of personal common mistakes and ensuring that you aren’t continually making them will make you a better programmer.
A few caveats: the book isn’t a “how to conduct peer code reviews” however it does arm you with enough knowledge that you can track down the process that would work for your team. They also promote their review software “Code Collaborator” a lot, however that’s ok, everyone has to make a living.
The only drawback (unless you’re one of those that hate advertising in any degree) is that this book is a bit too lightweight. I hope that at some point Cohen expands on the concept with a lot more details, in depth case studies, real world examples and general content. At that point I would probably take this from the “personal reading” stack and shuffle it over to required reading.
Update: Click the image above to order from Amazon or click here to get a free copy from SmartBear


3 comments
Comments feed for this article
June 11, 2009 at 10:36 am
Gregg Sporar
Thanks for writing up a review!
FWIW, in addition to the amazon.com link you provided, the book can be ordered for free from our web site: http://smartbear.com/codecollab-code-review-book.php
June 12, 2009 at 8:01 am
Jason Benson
No problems! Thanks for providing it!
June 26, 2009 at 1:21 pm
Gregg Sporar
One more thing, just FYI: we’ll be running a special promotion in July that we’d like your blog readers to hear about. Contact me if you want more information. Thanks – Gregg