ReviewClipse - Supporting Code-Reviews within the Eclipse IDE


Code reviews enhance software quality, so they should always be a part of our daily work. In our session we will present an ECLIPSE integrated code review plug-in, which helps developers to review the source code efficient on a per changeset basis - the item under inspection is one changeset in the revision control system. The tight integration of the review plug-in into the ECLIPSE development environment helps the developer to accept the review task as his daily work, like debugging or re-factoring. Because of its simple design it’s possible to initiate the review process on any existing project in a few minutes. All review data is stored within files, shared with the already configured subversion repository of your project. So there is no need to setup any server-side application, apart from the already existing subversion repository. The reviewer uses a special review editor to inspect the changesets, compares different versions of a file with the compare editor, and leaves his rating and optional comments for the commiter of the changeset. The review editor aligns with the basic concepts of the ECLIPSE environment, so the initial training will consume little time. Here are some features of the ECLIPSE plug-in: Easy to use review editor Easy installation and configuration, no server-side application needed Flexible Author/Reviewer assignments, supporting different types of reviewing (Peer vs. Master) Assignments may be scheduled within periods, supporting review iterations Re-use of the Compare-Editor to show file differences between revisions Enhanced Review-Editor to manage assignments and code reviews An extended version of the review plugin, based on the ECLIPSE Collaboration Framework, further provides notifications, e.g. about new review comments. The Vienna University of Technology uses this review plug-in for many software development projects. The flexible design allows to use different types of review models, whichever fits best into your software engineering process. The assignments may be done in a peer to peer manner, where the developers inspect the code changes of one or more team members. Reading each others code has the consequence, that developers also learn the code from their colleagues, thus supporting collective code ownership. As a result, a better code sharing and reuse will be more likely, the team’s interaction and creativity will be encouraged. A more hierarchical approach would be to assign a senior developer to review the code for new or less experienced developers. The senior developer in the role of the reviewer may enforce coding standards and better code quality within the development team. Because of our positive experience with the plug-in and the good feedback we have received, we will release the review plug-in under an open-source license prior to the EclipseCon 2009.

Talk: EclipseCon 2009, Santa Clara, CA, USA; 03-23-2009 - 03-26-2009
Thomas Grechenig
Thomas Grechenig
Ao.Univ.Prof. Dipl.-Ing. Dr.techn.