A major challenge for software organizations is creating software that can continue to adapt and change over time, a code base the team can live with. This session reviews the lessons learned from CruiseControl, a popular tool for continuous integration. CruiseControl is an open source success story not only because it has had over 400,000 downloads but also because it has successfully contributed to by over 200 different people. For practitioners who are tired of brittle code that must be discarded and rewritten CruiseControl provides valuable lessons.
All projects beneﬁt from high quality code but achieving the full beneﬁts 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