InfoQ

News

Review Board - Online Code Review Tool

Posted by Gavin Terrill on Feb 12, 2008

Community
Architecture
Topics
Collaboration ,
Teamwork ,
Artifacts & Tools
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.
Next steps... by Ben Scofield Posted Feb 13, 2008 8:48 AM
  1. Back to top

    Next steps...

    Feb 13, 2008 8:48 AM 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...

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.