Yeda AI Tips · #151

English

Lee las pruebas antes que el código

Revisa primero las pruebas. El código después. La mayoría de los revisores abren un pull request y bajan directo a la implementación: la función nueva, la rama modificada, el refactor ingenioso. Pero el diff ya contiene una especificación en lenguaje claro de lo que el cambio debe hacer: las pruebas. Léelas primero y revisarás con la intención en la mano, en lugar de deducirla del código.

Por qué las pruebas van primero

Una prueba es el autor diciéndote, en forma ejecutable, qué comportamiento garantiza este cambio. Nombra las entradas, las salidas esperadas y los casos límite que el autor consideró importantes. Ese es el contrato. La propia guía de revisión de código de Google pone a las pruebas en la lista corta de lo que un revisor debe evaluar activamente —no ojear— porque "las pruebas no se prueban solas, y rara vez escribimos pruebas para nuestras pruebas; un humano debe asegurarse de que las pruebas sean válidas."

Si lees primero el código, gastas tu atención descifrando cómo funciona. Si lees primero las pruebas, ya sabes qué debe hacer, así que cuando leas el código lo estás verificando contra una especificación en vez de adivinarla. Además, las pruebas envejecen mejor que los comentarios: son documentación viva que falla cuando el comportamiento se desvía, así que lo que lees en el diff está vigente, no obsoleto.

El mecanismo

  1. Lee primero las pruebas del diff. Anota los comportamientos que afirman y los casos límite que cubren. Esa es la intención declarada del autor.
  2. Lee el código contra ellas. Ahora cada línea responde una pregunta que ya planteaste: ¿esto cumple el contrato que describen las pruebas?
  3. Busca el hueco. El cambio toca una ruta riesgosa: una rama nueva, un caso de error, una ventana de concurrencia, un límite. ¿Hay una prueba para eso? Un cambio riesgoso sin prueba en su ruta riesgosa es en sí mismo un hallazgo. Escribe ese comentario.
Lo que ves en el diffQué verificarSeñal de alerta
Una prueba nueva¿Fallará cuando el código se rompa?No afirma nada que pueda salir mal
Una prueba modificada¿Por qué cambió la expectativa?Se relajó para dejar pasar un bug
Una rama / ruta de error nueva¿Hay una prueba que la ejercite?Ruta riesgosa sin prueba
Ningún cambio en las pruebas¿Debería haberlo?"Refactor" que altera el comportamiento

Verde no es revisado

Que las pruebas pasen significa que el código cumple las pruebas que existen. No dice nada de las pruebas que deberían existir. Un cambio puede estar completamente en verde y aun así entregar un modo de fallo sin prueba: el check verde de CI solo cubre las rutas que alguien se acordó de escribir. Leer primero las pruebas es como atrapas la ruta riesgosa que el cambio introdujo en silencio, porque comparas el conjunto de comportamientos probados con el conjunto de comportamientos modificados y buscas la diferencia.

Para el usuario avanzado

Recursos

<div class="cta"> <p><strong>¿Despliegas agentes de IA que revisan o escriben código?</strong> Yeda AI diseña, audita y entrega sistemas LLM en producción.</p> <p>Más tips en la serie · <a href="/contact">Habla con nosotros</a></p> </div>