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:
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.
The slides can be downloaded from the ReviewClipse site.
Christoph started working in 2001 for an IT company in Vienna, where he gained first experience with industrial software solutions. In 2003 he decided to study Software Engineering on the Technical University of Vienna, where he gained his Bachelor of Science in 2007. In 2006 he joined a software project for the medical industry, where he got interested in Open Source software development and the Eclipse project, particularly in the Eclipse Rich Client Platform. Currently he is writing his master thesis about software reviews and the integration into the Eclipse IDE.
Thomas Grechenig is the Head of the research group Industrial Software (INSO, www.inso.tuwien.ac.at) at the Vienna University of Technology. He is author of scientific work in the fields of software engineering, software quality management, project managment and peopleware, human computer interaction, visualization and (art) design of interaction and handling. Prof. Grechenig has 20 years of practical experience in industrial software development and IT-consulting. Current industrial research application fields are web-engineering, web-banking and M-commerce. Current scientific issues are in peopleware, project management and quality issues for specific domains and scenarios, visualization, interactive handles, theories and cultures of design.
This session is part of the curated collection of short talks titled
"Tools Topics to Make You Think"