Hay más en la revisión de código que la detección (automatizable)

En medio del auge del código generado por IA y los revisores automatizados, los ingenieros están replanteándose para qué sirve realmente la revisión de código. Muchos sostienen que, aunque los bots y los linters pueden detectar problemas de sintaxis, errores básicos y violaciones de estilo, fallan en cuestiones de nivel superior como la arquitectura, el ajuste al negocio, la mantenibilidad a largo plazo y el intercambio de conocimiento en un equipo. Otros responden que la revisión humana no escalará con la producción acelerada por IA y que debe complementarse o sustituirse por pruebas automatizadas más sólidas, revisiones de diseño y nuevos procesos para distribuir la comprensión del sistema.

Propósito y valor de la revisión de código

  • Se la considera mucho más que una forma de encontrar errores: transferencia de conocimiento, comprensión compartida del sistema, defensa de la arquitectura, validación de pruebas y planes de despliegue, e incluso “diligencia debida” legal/organizativa.
  • Algunos sostienen que los PR son la última y crítica barrera donde aún se pueden detener errores arquitectónicos, malentendidos y deuda técnica.
  • Otros dicen que si los grandes problemas se detectan rutinariamente en el momento del PR, entonces las etapas anteriores (diseño, reuniones diarias, programación en pareja, revisión de requisitos) están fallando.

Pequeñas objeciones de estilo vs automatización

  • Quejas de que los revisores senior a menudo solo comentan el formato y la puntuación.
  • Fuerte apoyo a linters/formateadores automatizados y a una decisión única sobre la guía de estilo para eliminar las discusiones triviales.
  • Debate sobre el consenso de abajo arriba frente a la imposición de arriba abajo del estilo para evitar discusiones interminables.

Humanos vs IA en la revisión de código

  • Muchos señalan que los LLM son decentes para cuestiones locales: sintaxis, errores simples, indicios de rendimiento, pruebas y estilo.
  • Debilidades ampliamente percibidas:
    • Ajuste arquitectónico y reutilización de patrones existentes.
    • Problemas “meta” como mantenibilidad, convenciones del proyecto y organización del repositorio.
    • Lógica de negocio, criterios de aceptación y “¿de verdad queremos esta funcionalidad?”
    • Reconocer y reducir la sobreingeniería y los grandes bloques generados por IA que no se pueden revisar bien.
  • Algunos informan que las herramientas de revisión con IA ya son “lo bastante buenas” para reemplazar la mayor parte de la revisión humana; otros encuentran que las herramientas populares son superficiales, ruidosas y poco fiables.

Impacto de la IA en los equipos y el proceso

  • Preocupación de que el uso intensivo de IA erosione la comprensión profunda de los desarrolladores, haciendo más difícil estimar costes/beneficios y realizar cambios seguros.
  • Una organización describió una “crisis” en la que nadie se sentía seguro cambiando el código; reintrodujeron una revisión humana estricta, límites de WIP y la obligatoriedad de dos firmas humanas.
  • Frustración porque la retroalimentación humana a menudo simplemente se vuelve a introducir en los agentes, entrenando aparentemente a las herramientas y no a las personas.

Futuro de la revisión de código

  • Algunos predicen que la revisión humana desaparecerá en gran medida para el código no crítico; el foco humano se desplazará a revisiones de diseño y gobernanza.
  • Otros argumentan que depender de la revisión humana para bloquear código generado por IA a velocidades de IA es imposible; en su lugar, piden pruebas impulsadas por IA, meta-comprobaciones e incluso la regeneración completa de subsistemas.
  • Contraargumento: la producción actual de la IA suele ser desordenada, duplicativa y corrosiva para la arquitectura; saltarse la revisión humana se ve como una acumulación imprudente de deuda técnica.