一句话:实证研究发现开发者并未真正持续检查代码质量,而多在冲刺末或发布分支上集中检查。
持续集成(CI)旨在每次变更后通过自动化构建为开发者提供多维度的即时质量反馈,其中持续代码质量(CCQ)包括自动化测试与自动化代码检查。已有研究显示遵循 CI 原则与源码质量正相关,但业界对 CCQ 的实际采用情况仍缺乏了解。本文开展初步实证调查,分析实践者遵循 CCQ 的严格程度。研究发现理论与实践存在显著二分:开发者并未进行持续检查,而通常仅在冲刺(sprint)结束时关注质量,且多数情况下只针对发布分支(release branch)进行检查。作者还公开了预印本与数据材料。
Continuous Integration (CI) is a software engineering practice where developers constantly integrate their changes to a project through an automated build process. The goal of CI is to provide developers with prompt feedback on several quality dimensions after each change. Indeed, previous studies provided empirical evidence on a positive association between properly following CI principles and source code quality. A core principle behind CI is Continuous Code Quality (also known as CCQ, which includes automated testing and automated code inspection) may appear simple and effective, yet we know little about its practical adoption. In this paper, we propose a preliminary empirical investigation aimed at understanding how rigorously practitioners follow CCQ. Our study reveals a strong dichotomy between theory and practice: developers do not perform continuous inspection but rather control for quality only at the end of a sprint and most of the times only on the release branch. Preprint [https://doi.org/10.5281/zenodo.1341036]. Data and Materials [http://doi.org/10.5281/zenodo.1341015].