Java and Ruby Tools for Code Quality
All projects benefit from high quality code but achieving the full benefits of agile approaches demands higher-than-usual software quality. A Continuous Integration build provides an ideal platform for applying automated tools to issues of code quality.
This tutorial looks at automated code quality tools that can be used to enforce or monitor code quality in Java and Ruby, and how they can be used to check quality manifested by:
- style enforcement
- lines per method
- methods per class
- code duplication
- npath and cyclomatic complexity
- test coverage
The overall presentation will be lecture style, but will be interspersed with running examples using Checkstyle, Simian, Cobertura, RCov and Roodi.
The main points covered will be:
- why check metrics at all?
- why use automated tools for this?
- What tools are available in Java and Ruby?
- How do you integrate these tools into a CI environment?
- Details of specific checks and the effect they have on code
This session could be extended to 180 minutes by adding more detailed examples. The presentation is currently a candidate for the Australian Software Engineering Conference 2009, as a half-day tutorial, but presentation will be dependent on enrollments.
Steve Hayes is a principal of Cogent Consulting. He has been involved in agile development, mainly Extreme Programming, since 1999, as a developer, coach, team leader and as a software development manager. After a career in Silicon Valley and Wall St Steve returned to Australia in 2001, and since then has been involved in growing and supporting agile development in Australia. He has been a presenter at software conferences (Borcon Australia, Software Education agile conferences), has written columns on agile development and the Ruby programming language for Builder.com, and presented courses to industry on Extreme Programming, Test Driven Development and the Ruby language. Lately Steve has been involved in developing the Suncorp agile training curriculum and managing the redevelopment of ateam of 30 developers using agile methods.
Joshua Kerievsky can act as a reference for Steve’s skills.
- Awareness of at least some of the tools available for validating code quality
- Appreciation of the sorts of metrics that can be enforced
- Visibility of the kind of code changes that this can create

Add to calendar