We’ve used FishEye to better understand our source code repositories for some time now.

Cenqua (the Austrailians behind Fisheye) were exhibiting at last years JavaOne. I mentioned that we actually paid for FishEye (they gave the impression that most people eval’d continouslly) and they were quick to explain their new product and offer entry to early access program around it. This new product was Crucible and it’s motivation was to provide a means to perform efficient and effective offline code reviews.

I was generally impressed with their brief demo and left excited.

Traditionally, our code reviews have been face-to-face interactions where one person (the reviewer) looks over varying amounts of code prior to the author checking it in. However tedious they may be, code reviews help maintain a certain quality in the code base and are treated as a learning opportunity, particularly if the author is more junior and the reviewer senior.

Crucible provides an integration to FishEye that allows you to easily manage the review process around a particular change set. You’re able to select multiple authors (a useful thing when you want multiple eyes looking at the same piece of code) and perform a review using a nice Ajaxy web interface. Now that the product has emerged from its early access program, you can get a demo or trial version of at its website.

The entire process is managed offline, you’ll get an email notifications whenever you’ve been selected as a reviewer or someone has commented on your code.

Part of the problem we face at work with online code reviews (reviews that preceed a checkin) involves scheduling. More often than not, there’s a non-trivial amount of code to review and the emphasis is often placed on getting it checked in. Keeping track of the required changes (and following up on) can be difficult as well. Not to mention that it can be distracting to have to spend an hour or two reviewing code.

Needless to say, Crucible is nice but not perfect. For us, policy still dictates that we don’t want code committed to the repository without review. With Crucible, we’ll commit to a private branch, have it reviewed, and merge down to the respective trunk.

There’s been discussions around the office that it would be nice to be able to perform a review off of a diff file. Face to face interaction is also lost when using a purely offline tool. Although, this can be partially solved if the author is providing timely replies to the reviewers comments.

In the end, it’s a useful tool. We’re still using the early access release and it hasn’t been rolled out to all of development. That being said, most of us that did use it found it beneficial. If we could get diff-based reviews, we’d be sold.


  1. Anjan Bacchu

    hi there,

    without crucible(by using emails), we did checking-in to private streams(branch) and then merge to the trunk on clearcase for a while.

    I heard about Google’s review software written by Guido Van Rossum created a tool — http://www.niallkennedy.com/blog/archives/2006/11/google-mondrian.html.
    Here’s a video of him explaining the same — http://video.google.com/videoplay?docid=60331183357868340

    Would be interesting to know the similarities/differences in approach between the tools.

    BR,
    ~A

Leave a Comment




  • Pet Peeve: Don’t email my password to me in plain text You know the drill. Signup for some random service on the internet Receive a confirmation email with your account information or Forget a password for some random service ...

  • Eclipise Memory Analyzer (MAT) I must say the Eclipse Memory Analyzer looks pretty slick. There is some pretty good material over on the developers blog. Lastly, there was a talk on it ...

  • Open-source Web-based Code Review Tool: Rietveld Guido van Rossum, of Python fame, has recently released a Django-based application that enables web-based code reviews... Rietveld. It supports any language and currently can hook into Subversion repositories. You ...

  • An implementation of the JVM in Javascript? Caught this over on JavaPosse Google Groups. Essentially, some bright fellows over in Japan have developed a bytecode->javascript compiler. There's a demo floating around that took a Tetris ...

  • Facebook Chat? So it looks like the Facebook Chat service has finally started rolling out to my network (Facebook Chat has been mentioned previously). Not quite sure how ...