InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Review Board - Online Code Review Tool

Posted by Gavin Terrill on Feb 12, 2008

Sections
Process & Practices,
Development
Topics
Artifacts & Tools ,
Architecture ,
Teamwork ,
Collaboration
Tags
Coding Standards

Code reviews improve quality, and serve as an excellent means for knowledge sharing and mentorship. Unfortunately, the preparation effort and lack of tool support has made it all too easy to let it slip "until later". Review Board aims to change that by providing an application that supports the code review process. Some of the features of the application include:

  • Detailed review requests that brings together all the information required for the review, including code changes and screenshots
  • A diff viewer that supports writing comments directly on the relevant lines of code
  • Contextual discussions
  • A dashboard that summarizes incoming and outgoing reviews

Review Board has been gaining endorsements from early adopters in the open source community since the announcement last May by the developers - Christian Hammond and David Trowbridge from VMWare. The functionality of Review Board has so far been progressing rapidly, with users blogging about their installation experiences as well as comments such as this from Joe Heck:

I think one of the most impressive things about ReviewBoard is that it supports a nice mechanism, and some example scripts, for doing a pre-checkin review.

Review Board ideally works for reviewing patches. A "post review" tool is used in conjunction with the SCM system (currently SVN, CVS, Perforce, Git, and Mercurial repositories are supported), that allows you to request a review for changes about to be committed. The UserBasics page describes the process as:

    1. You make some awesome change to your local checkout.
    2. You create a review request by posting a diff, writing a description, and selecting some reviewers.
    3. You click "Publish" on the review request and wait for your reviewers to see it.
    4. Other people look at your review request, say "that is awesome, except some stuff is broken."
    5. You update your code to address some of their comments.
    6. You post an updated diff, and respond to their comments indicating what you changed (or you respond indicating why you're not going to make some change they suggested)
    7. People look at your updated code, and give you the go ahead.
    8. You commit your change to the repository.
    9. You click "Set Submitted" on the review request to remove it from peoples' dashboards.
Review Board is hosted on Google Code, and released under an MIT/X11 style license.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

Next steps... by Ben Scofield Posted
Java Review Board API by Joker SellOff Posted
Review Board JAVA by Joker SellOff Posted
  1. Back to top

    Next steps...

    by Ben Scofield

    This looks like a great tool - but wouldn't it be even better integrating into a DSCM like git? You could check out a local branch with the change to do the review, and the various commits could be automated based on your desired workflow. At that point, though, it's starting to move from simple code review to something more like collaborative code creation...

  2. Back to top

    Java Review Board API

    by Joker SellOff

    For anyone who want access review board using JAVA, take a look in the link below:

    code.google.com/p/jreviewboardapi/

  3. Back to top

    Review Board JAVA

    by Joker SellOff

    Review Board Java Api

    code.google.com/p/jreviewboardapi/

Educational Content

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?