Coffee Reviews: una herramienta para incentivar y agilizar la revisión de código

En mi equipo tenemos un conjunto de prácticas que consideramos cada día al desarrollar nuestras aplicaciones. Estas prácticas van desde utilizar el mismo linter hasta cómo organizar las ramas de los repositorios Git para que puedan ser correctamente detectadas por los servicios de integración que tenemos.

Una de estas prácticas incluye el proceso de envío y revisión de cambios en el código. Dado que utilizamos Gitlab estos cambios son sometidos a un proceso de Merge Request (MR). Dicha MR es publicada en el chat del equipo y ya enterados todos estamos encargados de revisar dichos cambios antes de ser integrados en el código base. Para el proceso requerimos al menos dos revisiones positivas, especificadas por un voto 👍 en la MR.

Durante los últimos meses ha sido bastante notorio que varias MR reposaban por días sin que alguien las revisara ya que los anuncios quedaban enterrados tras algunos mensajes en el chat. Intentar que el equipo fuese cada día a ver en cada repositorio si había MRs pendientes resultó bastante insensato así que, en lugar de forzar un proceso, decidí buscar una utilidad que permitiese recordar al equipo que existen revisiones pendientes en diferentes repositorios.

Después de algunas búsquedas y pruebas no quedamos convencidos por las herramientas ya existentes así que decidí escribir una pequeña utilidad que puede ser ejecutada periódicamente y publica un mensaje en el chat agrupando las revisiones pendientes.

Esta semana terminé de definir Coffee Reviews, que es opensource y está escrita en Typescript. Puede ser configurada para recopilar MRs de Gitlab en distintos proyectos y publicar dicha información en Slack o MS Teams.coffee-reviews Slack

Para comenzar a utilizarla sólo basta con clonar el proyecto, transpilar con el subcomando build y configurar los parámetros necesarios para leer repositorios y publicar en los canales de chat.

En la página principal del proyecto está toda la información necesaria para completar dicho proceso.

En nuestro caso decidí configurar un cron para que publique los mensajes temprano por la mañana y casi al final del día (de ahí el nombre de coffee reviews 😉). A partir de comenzar a utilizarlo hemos notado cómo ahora las peticiones reposan un máximo de dos días, evitando ciertos conflictos en nuestros repositorios Git y dando más tranquilidad al equipo ya que ahora no tienen que acudir a listar las revisiones ellos mismos.

Además de invitar a su uso si piensan que puede serles de utilidad también son bienvenidas opiniones, sugerencias y contribuciones.

1 Comment

Write a comment