Automaté el proceso de disminución de advertencias creando una acción en GitHub que publica un comentario en las solicitudes de extracción, proporcionando puntos ganados y clasificaciones. Se tarda menos de 10 segundos y hace el trabajo bien. Después de algunos errores iniciales, el sistema funcionó sin problemas durante los siguientes tres meses. Comenzamos con alrededor de 1600 errores y, a pesar de algunas semanas malas, logramos disminuir el número de errores en 235 en tres meses. A un ritmo de aproximadamente 78 errores por mes, nos llevaría 4 años llegar a cero errores.
Pero luego tenemos el problema de disminuir nuestras advertencias. Así que eso fue cuando comencé a pensar en, OK, intentemos automatizar esto. Intentemos poner un pequeño incentivo en su lugar. Intentemos convertirlo en un juego con una tabla de clasificación. Así que me puse manos a la obra, codifiqué rápidamente y esto es lo que se me ocurrió.
Es una acción de GitHub. Se puede adaptar a SQL CI, GitLab o cualquier otra herramienta de CI que utilices. Es bastante simple. Básicamente, publica un comentario en tu solicitud de extracción y te dice cuántos puntos has ganado en la solicitud de extracción. Cuántos puntos has ganado desde el comienzo de la semana y tu clasificación actual para esta semana. Y puedes ver el podio, la tabla de clasificación completa y la explicación de cómo ganar puntos. Básicamente, lo que sucede es, toma la diferencia de git en la solicitud de extracción y luego cuenta cuántas líneas agregaste que contenían una negación anidada y cuántas líneas eliminaste que contenían una negación anidada. Luego, en base a esto, obtenemos la puntuación. Calculamos la puntuación para todos e imprimimos la tabla de clasificación. No es necesario almacenar nada en ningún lugar, se calcula allí cada vez que abres una solicitud de extracción. Se tarda menos de 10 segundos y hace el trabajo muy bien.
Así que implementé eso, estaba muy orgulloso de mí mismo. Lo lanzamos, la primera semana, muchos errores. Muchas solicitudes de extracción tenían cero puntos cuando las personas deberían haber tenido puntos. La gente se quejó, la gente estaba descontenta, trabajé un poco en eso. Y después de eso, fue un viaje tranquilo durante los siguientes tres meses.
Entonces aquí está la data de los tres meses en el proyecto. Comenzamos con alrededor de 1600 y luego puedes ver algunas nuevas reglas de destinatario agregadas. Y en general, parece que ha aumentado bastante. Pero acerquémonos un poco más y veamos qué sucede. Así que primero, acercándonos a los 3000 y luego agregando algunas líneas de base, podemos ver que aparte de un par de semanas en abril que fueron un poco malas al principio y al final, tuvimos buenos momentos. Y hay un poco más de cálculos sobre eso. Si olvidamos todas las reglas que hemos agregado, en realidad disminuimos nuestro número de errores en 235 en aproximadamente tres meses. Eso es un ritmo de aproximadamente 78 al mes. Y suponiendo que comenzamos, ahora comenzamos en 3500, nos llevaría 4 años llegar a cero.
Comments