Review Board is good software

After having tried and failed to have useful code reviews at several different companies, and after feeling deep envy for Mondrian, Google’s web-based code review tool, I’d been looking for some tool that would help make code reviews more painless. I think I’ve found what I was looking for in Review Board.

Code reviews usually amount to infrequent lunchtime sessions where some poor engineer’s code gets put on a projector and strip-searched by the whole engineering group at once. It’s not a fun experience for anyone, and post-traumatic stress or severe empathy often result in the next session mysteriously taking several weeks or months to make it onto the calendar. Public humiliation has its place, perhaps, but as a last resort — attempts to make it regular, good sport usually fail on the launchpad.

Yet good code reviews — as hard as they are to find — can produce great effects. There’s no better way to learn how to improve your code than to have someone look over it carefully and make suggestions line by line. I’ve been impressed by the results that teams using careful code review report: that making changes and fixing bugs in the code is relatively easy, since everything is fairly clean and accessible. Great code review makes bugs more shallow.

There are a few web-based tools for code reviews. Mondrian isn’t available outside of Google, but Codestriker (Perl-based) has been around for a while, and Crucible from Atlassian has a nice UI and good features — but a US$2,400.00 starting price point, including the required FishEye server.

I spent a ton of time getting Crucible set up, but before taking the plunge I decided to take one more look for alternatives, and stumbled on Review Board. It’s a Django/Python-based open source project, and it seems to have an active and responsive community. The documentation for getting it set up is a little thin, but it still took far less time than Crucible to get going. The UI isn’t quite as nice, but it’s serviceable, and the iPhone/JSON API/Git & Mercurial & SVN & Perforce & CVS support all turned my eye. Also, I like that Review Board allows pre-commit reviews, which Crucible as yet does not.

You can immediately see why Review Board is going to be a great open source project when you submit a patch. All patches are, of course, code reviewed using Review Board, and nobody working on the project is going to let a minor glitch go by. My first patch got an immediate “no way”; later patches (such as this one) were up to snuff. I’ve learned a couple of tricks already from the review comments, and I definitely am spending more time getting things right before submitting.

Take a look through the project launch post and you’ll see what the authors are going for. I have Review Board set up at our office, and I’m psyched to give it a try and see how it goes. It’s great to see such a healthy project in this area, and I hope it continues to grow and go well.

tags: ,

Get the O’Reilly Programming Newsletter

Weekly insight from industry insiders. Plus exclusive content and offers.

  • Phil Atio

    A code review is like sex — it’ll hurt if you do it wrong. And technique is what really matters. No tool will change that fact.

    Good tools certainly are welcome and it’s helpful to know about Review Board. But nothing is more effective than a robust code inspection process led by intelligent, thoughtful, and considerate people.

  • Brian M

    Another nice tool for code reviews is Code Collaborator from SmartBear Software. My company has used it for several years. It’s impressive. http://www.smartbear.com/

  • http://atlassian.com Pawel Niewiadomski

    Hi Marc,
    thanks for evaluating Crucible! Can you share with me what kind of hassle did you have while trying to setup Crucible? You mentioned that you spent a lot of time – what was the most time consuming, what do you think we should improve?

    Thanks in advance,
    Pawel

  • Leo F. Swiontek

    Thanks for giving information regarding code review tools. I welcome Review Board as a new tool .You mentioned about other tools like codestriker ,
    crucible etc.thanks for that.Hope review board which is Django/Python-based open source project and it should have an active and responsive community.

  • http://www.carego.in carego

    I am very thankful for getting useful information regarding review tools. Hope an open source project ubuntu should have an active community.

  • http://www.rhonabwy.com/wp/ Joe

    I’ve been using ReviewBoard for a month, and it has been a tremendous success. We’re using it with Perforce, and the ability to review across locations and times, prior to checkin, has been fantastic.

    There’s still the warts with an ongoing development project that’s not quite 1.0 yet, but it’s worth investing the time in setting it up now.

  • Curadebt

    I think Code Collaborator from SmartBear Software is best for code reviews. I always make use of it.