On Assuring Learning About Code Quality
Diana Kirk, Tyne Crow, Andrew Luxton-Reilly, Ewan Tempero
Abstract
Most of the lifetime cost of a software product is incurred after it is first delivered, i.e. during the maintenance phase. It is generally acknowledged that the quality of the code significantly impacts maintenance costs. This suggests that "code quality" should be a key competency of graduates of computing qualifications. We examined the learning outcomes of 141 University courses on introduction to programming and found that only about 30% mention any code quality-related topic. In contrast, the relevant national high school assessment framework used in New Zealand requires that, in order to be successful, a student must demonstrate some understanding of code quality. Our recommendation is that, if we are to be confident about producing code-quality-capable students, we must consider adopting agreed achievement standards for code quality.