El código es un mensaje para el futuro

Los commits limpios, los PRs bien pensados y los comentarios útiles son aún más importantes cuando los agentes de IA generan el código.

El código es un mensaje para el futuro

Hernan Garchtrom
Ingeniero de software sénior
Ver perfil del autor
Hernan Garchtrom
Ingeniero de software sénior
Ver perfil del autor
Índice de contenidos

El código es comunicación entre ingenieros, no solo instrucciones para una máquina. La forma en que escribes los commits, estructuras las solicitudes de extracción (pull requests) y dejas comentarios determina qué tan bien puede tu equipo entender, depurar y desarrollar el trabajo.

El código es comunicación

Los ingenieros se comunican constantemente. Mensajes de Slack, documentos de diseño, hilos de RFC, comentarios en revisiones de código: el trabajo consiste tanto en compartir intenciones con otras personas como en resolver problemas técnicos.

Pero hay un canal de comunicación que no siempre se trata como tal: el código mismo. Y todo lo que lo rodea debe formar parte de ese mismo canal.

El código no es solo un conjunto de instrucciones para una máquina. Es un mensaje para el próximo ingeniero que tenga que leerlo, ampliarlo o depurarlo. Es un mensaje para tus compañeros durante la revisión. Es un mensaje para ti mismo dentro de seis meses, cuando todo el contexto original haya desaparecido. Un mensaje de commit es un mensaje de Slack que debe sostenerse por sí solo. Sin hilos. Sin forma de hacer preguntas de seguimiento. A menudo se lee años después de haber sido escrito.

Una vez que tratas el código como comunicación, las preguntas que debes hacerte cambian. ¿Es este commit comprensible por sí solo? ¿Puede alguien revisar este PR en orden? ¿Este comentario explica por qué existe el código o simplemente repite lo que el código ya dice?

Tu flujo de trabajo local es asunto tuyo. Experimenta, reescribe, descarta cosas. El desorden es parte de cómo se encuentran las buenas ideas. Pero una vez que algo está listo para fusionarse, las reglas cambian. En ese punto, lo que produces no es solo un diff. Se convierte en parte de la base del código. Alguien lo usará más tarde para entender por qué cambió un archivo, cuándo se introdujo un error o qué problema intentaba resolver el PR. Ese es el momento de bajar el ritmo y preguntarse: ¿cuenta esto una historia que alguien más pueda seguir?

Un PR es una historia

Un modelo mental que ayuda aquí es pensar en una solicitud de extracción como un libro. Cada commit es un capítulo. El diff dentro de cada commit es la prosa. Nadie lee un libro saltando a páginas al azar. Lo lees en orden, y la historia tiene sentido porque el autor fue intencional con su secuencia. Un revisor que lea tus commits en orden debería poder seguir el razonamiento sin adivinar, sin necesidad de mantener todo el diff en su cabeza a la vez para entender cualquier parte del mismo.

Así es como se ve esto en la práctica:

Add search endpoint to API
Add basic relevance ranking
Extract ranking logic into standalone module
Add unit tests for ranking
Add integration tests for search endpoint

Lee esos cinco commits en orden y ya sabrás qué pasó. La funcionalidad se construyó de forma incremental, la lógica de clasificación se trasladó a su propio módulo y el comportamiento se cubrió tanto a nivel de unidad como de integración. No hace falta una descripción del PR para reconstruir eso. Los commits lo cuentan por sí mismos.

Para que esto funcione, cada commit debe valer por sí mismo. Un cambio de nombre más un cambio de comportamiento no es una sola cosa. Son dos cambios separados y, por lo general, deberían ser dos commits separados. Los títulos de esos capítulos importan tanto como los capítulos mismos. Los mensajes de commit deben contener algo de contexto. Corregir ABC-123 solo apunta a un contexto en otro lugar, y ese contexto puede no estar disponible cuando alguien lo necesite.

Los mensajes cortos que empiezan con un verbo funcionan mejor:

  • Extraer validador
  • Refactorizar: usar validador en formulario
  • Corregir: manejar caso extremo al enviar

Léelos en secuencia y ya conocerás la historia.

Una vez que comience la revisión, evita reescribir los commits mientras la conversación esté activa. Añade otros nuevos. Los revisores anclan sus comentarios a líneas específicas. Si haces un force-push y reescribes el historial, esos anclajes se rompen y la conversación se vuelve imposible de seguir. La historia original permanece, los comentarios se abordan sobre ella y cualquiera que lea después puede ver exactamente cómo evolucionó el PR.

El lector al otro lado

Cuando el código se escribe pensando en la comunicación, algo cambia para el revisor. En lugar de intentar reconstruir la intención a partir de un conjunto de cambios, sigue una narrativa. Esto añade trabajo para el autor, pero reduce la fricción para todos los demás, especialmente para los revisores que no han formado parte del proceso de exploración. En un entorno de equipo, ese intercambio vale la pena. Un PR claro es más fácil de revisar. Con el tiempo, eso importa. Menos tiempo dedicado a reconstruir la intención significa más tiempo dedicado a observar el cambio real.

El revisor no es el único lector. Alguien puede volver al código años después y preguntarse por qué existe una línea. Un buen historial de commits les da un camino de regreso al contexto: el commit que lo introdujo, el PR que lo rodea y las decisiones detrás de él. Sin ese rastro, es fácil "arreglar" algo que era intencional.

Ese mismo instinto aparece en los comentarios del código. El código ya muestra lo que está ocurriendo. Lo que a menudo no puede mostrar es por qué existe, qué limitación está sorteando o qué suposición está codificando. Un comentario que dice // incrementa el contador no aporta nada. Un comentario que dice // debe ejecutarse antes de configurar la suscripción, o la devolución de llamada se activará antes de que el estado esté listo es documentación fundamental. Es el tipo de cosas que ahorran horas de depuración y probablemente evitan que se introduzca un error en primer lugar.

El código generado por IA hace que esto sea más importante, no menos

Los agentes de IA pueden producir mucho código rápidamente, pero la velocidad no sustituye al contexto. El coste de limpieza recae mucho más lejos de las ganancias de velocidad de lo que la mayoría de los equipos esperan. Si se dejan a su aire, el resultado será un commit gigante con un mensaje como "implementar función" y sin rastro del razonamiento detrás de nada de eso.

Pedirle a un agente de IA que siga las mismas convenciones que un ingeniero humano cambia eso. Los commits atómicos hacen que el razonamiento del agente sea legible: puedes ver qué construyó primero, dónde refactorizó el código, qué probó y en qué orden. Eso no solo es útil para entender el código. Es la forma de detectar lagunas en el razonamiento del agente antes de que lleguen a producción. Un commit que salta directamente de "añadir endpoint" a "añadir pruebas de integración" sin nada en medio es una señal. Un historial de commits limpio es auditable de una forma que un diff volcado de golpe nunca lo será.

El código sigue siendo un mensaje. Solo que ahora, el autor podría no ser humano.

La estructura es parte del mensaje

Si has estado leyendo con atención, puede que te hayas dado cuenta de que cada encabezado de este artículo te decía exactamente lo que había dentro antes de que lo leyeras. No necesitaste leerlo todo para saber dónde estabas. Eso es lo que hacen los buenos mensajes de commit. Eso es lo que hace un PR bien estructurado. La estructura en sí misma es la comunicación y, cuando se hace bien, el lector nunca tiene que adivinar.


Última actualización
June 11, 2026
Categoría

Artículos relacionados


verifone logomonday.com logospotify logoted logogreenhouse logoclear logocheckout.com logoreddit logothe new york times logoideo logoupwork logodiscord logo
verifone logomonday.com logospotify logoted logogreenhouse logoclear logocheckout.com logoreddit logothe new york times logoideo logoupwork logodiscord logo

Empieza gratis

Prueba Webflow todo el tiempo que quieras con nuestro plan Starter gratuito. Compra un plan de sitio de pago para publicar, alojar y desbloquear funciones adicionales.

Empieza, es gratis
Ver demostración

Prueba Webflow todo el tiempo que quieras con nuestro plan Starter gratuito. Compra un plan de sitio de pago para publicar, alojar y desbloquear funciones adicionales.