Usamos Jenkins para administrar nuestro canal de información y pruebas. Tenemos un paso de compilación de análisis de código estático que recopila varias métricas de analizadores de complejidad ciclomática, cobertura de prueba, advertencias de compilador, herramientas de linting, etc.
Solo comenzamos a recopilar métricas durante varios meses en nuestro proyecto y para ese momento hubo muchas violaciones. En lugar de fallar la compilación hasta que se solucionen todos los problemas, utilizamos un proceso de trinquete: la compilación falla si aumenta el número de violaciones desde el último registro. [1]
Si desea forzar una mejora continua, puede insistir en que las violaciones deben disminuir en 1 en cada registro.
- ¿Cuáles son las ventajas del desarrollo de software offshore en Bielorrusia?
- Cómo aprender qué es la buena arquitectura
- ¿Cuál podría ser el proyecto de desarrollo masivo pero más barato en arduino?
- ¿Qué plataformas de blogs tienen el mejor soporte para escribir sobre programación?
- ¿Cuál es un buen software para transcribir el lenguaje hablado en símbolos fonéticos?
Su IDE puede tener complementos para estas herramientas (o escribir scripts personalizados para ejecutarlos por usted) para que los desarrolladores puedan analizar el código antes de registrarse.
Como comentario aparte, es probable que no necesite comentarios diarios sobre ‘olores de código’ porque cambia bastante lentamente. Utilice estas métricas como puntos de discusión en las reuniones semanales del equipo, y luego asegúrese de que los desarrolladores tengan el tiempo que necesitan para mejorar piezas de código arriesgadas. En mi opinión, los equipos multifuncionales, la programación de pares (o las revisiones de código) y las pruebas automatizadas con una cobertura de prueba decente son mejores procesos para lograr un código de alta calidad.
[1] Idea del libro Farley and Humble’s Continuous Delivery.