Code Reviews

Many software experts have said that Code Reviews are extremely important to code quality. Bruce Eckel speaking at the San Diego JUG said [paraphrased]: "Code Reviews are the #1 way to increase the quality of code, and yet we still don't do them". Kent Beck formalized the idea of Pair Programming from the perspective of an always-on code review. Military contract firms often TEDIOUSLY code-review EVERY line of code before it's checked in. There are obviously people out there who believe reviewing code is a valuable practice. And yet, in my experience, it definitely is one of the most rarely experienced of the well-known "best practices". I think there tends to be a negative connotation to code reviews that just shouldn't be there - and that organizations generally feel that it is too expensive.

The Stan angle is to make it as easy as possible, make it work for distributed teams, make the computers do the work and then the developers will get value out of code reviews. To that note, I have come across a couple web based code review tools that claim to remove the negative stigma and makes it a low-cost practice.

Google uses the Mondrian code review tool, which is not available outside of google (at least not yet).
Guide van Rossum gave a very nice presentation on it (which also makes the case for code reviews in general on 11/30/2006):
http://video.google.com/videoplay?docid=-8502904076440714866

Basic set of requirements for a good web based code review tool

  • Review any piece of code
    • existing code base
    • a pre-commit change
    • a post-commit change
  • Tie in directly with some version control systems (CVS & SVN for starters)
    • So that selecting diffs to review is as easy as selecting multiple tags to diff
  • Seamless email integration
  • Save history
    • People not even involved in the code review should be able to view the time, and actions of the code review

Evaluations

10/08: Evaluated the Review Board product from http://review-board.org

  • Pro:
    • it exists and web driven code reviews are a good idea
  • Con:
    • Still alpha quality
      • Installation is a MAJOR pain
      • Flexibility is not good (so far it's geared towards only reviewing pre-commit code changes)

Code Striker

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License