Buscar temas
Buscar temas

Qué son las revisiones de código y cómo contribuyen realmente a ahorrar tiempo

Spoiler: Si te encantan las decisiones estructurales fundamentadas y odias ser un desarrollador crítico, esto te va a encantar.

Empieza a usar con la plantilla gratuita de DevOps

Desarrolla, implementa y gestiona aplicaciones con un enfoque de herramientas abiertas dentro de esta plantilla personalizable.

Los equipos ágiles se organizan solos, con conjuntos de habilidades que se extienden a todo el equipo. Esto se logra, en parte, con la revisión del código.

La revisión del código ayuda a los desarrolladores a aprender la base de código, así como a utilizar nuevas tecnologías y técnicas que aumentan sus habilidades.

How to navigate Jira video thumbnail

Pero ¿qué es exactamente la revisión del código?

Cuando un desarrollador deja de trabajar en una incidencia, otro desarrollador revisa el código y se plantea lo siguiente:

  • ¿Hay errores lógicos obvios en el código?

  • Teniendo en cuenta los requisitos, ¿están todos los casos implementados completamente?

  • ¿Las nuevas pruebas automatizadas son suficientes para el nuevo código? ¿Deben reescribirse las pruebas automatizadas actuales para tener en cuenta cambios en el código?

  • ¿El nuevo código sigue las directrices de estilo actuales?

Las revisiones del código deben integrarse con el proceso actual del equipo. Por ejemplo, si un equipo sigue flujos de trabajo de ramas de tareas, inicia una revisión del código después de que todo el código se haya escrito y las pruebas automatizadas se hayan ejecutado y superado, pero antes de que se fusione el código en el repositorio remoto.

Así se asegura que el revisor del código dedique su tiempo a comprobar aspectos no detectados automáticamente y evita que malas decisiones de programación contaminen la línea de desarrollo principal.

¿Qué ventajas tiene para un equipo ágil?

Todos los equipos pueden beneficiarse de las revisiones de código independientemente de la metodología de desarrollo. Los equipos ágiles, sin embargo, pueden obtener enormes beneficios porque la actividad está descentralizada en todo el equipo.

En ningún caso hay una única persona que conoce una parte específica del código base. En resumen, las revisiones de código ayudan a facilitar el intercambio de conocimientos en la base del código y en todo el equipo.

Las revisiones del código transmiten conocimiento

La base de todos los equipos ágiles es una flexibilidad insuperable: la capacidad de todos los miembros del equipo para acabar con las tareas atrasadas y comenzar la ejecución. Como resultado, los equipos son más capaces de hacer nuevas actividades porque nadie es la "ruta crítica".

Todo el equipo de ingenieros puede asumir trabajo de frontend y de servidor.

Las revisiones del código logran mejores estimaciones

¿Recuerdas la sección sobre estimación? La estimación es un ejercicio de equipo, y el equipo hace mejores estimaciones a medida que el conocimiento del producto se extiende por todo el equipo.

A medida que se agregan nuevas funciones al código existente, el desarrollador original puede proporcionar buenos comentarios y estimaciones. Además, cualquier revisor de código también está expuesto a la complejidad, los problemas conocidos y las preocupaciones de esa área de la base de código.

El revisor de código, entonces, comparte el conocimiento del desarrollador original de esa parte del código base. Esta práctica crea entradas múltiples e informadas que, cuando se utilizan para una estimación final, siempre hacen que la estimación sea más sólida y confiable.

Las revisiones del código permiten descansar

A nadie le gusta ser el único punto de contacto en un fragmento de código. Del mismo modo, nadie quiere sumergirse en un fragmento de código crítico que no haya escrito, especialmente durante una emergencia de producción.

Las revisiones de código comparten conocimientos entre todo el equipo para que cualquier miembro del equipo pueda tomar las riendas y seguir dirigiendo el barco. ¡En Atlassian nos encantan las metáforas mixtas! Pero aquí está la clave: al no haber un único desarrollador que sea el camino crítico, los miembros del equipo también pueden tomarse tiempo libre cuando lo necesiten.

Si te encuentras atado a un escritorio en el sistema de control de versiones, la revisión del código es una excelente manera de encontrar la libertad. Libertad para tomarse las vacaciones necesarias o libertad para dedicar tiempo a trabajar en un área diferente del producto.

Las revisiones del código enseñan a los nuevos ingenieros

Un aspecto especial de la metodología ágil es que, cuando los nuevos miembros se unen al equipo, los ingenieros más experimentados son mentores de los miembros más nuevos. Y la revisión del código ayuda a facilitar las conversaciones sobre la base del código.

A menudo, los equipos tienen conocimientos ocultos dentro del código que salen a la luz durante la revisión de este. Los miembros más nuevos, con una mirada fresca, descubren áreas complicadas y plagadas de errores en el código base que necesitan una nueva perspectiva. La revisión del código también ayuda a garantizar que la nueva información se atenúe con el conocimiento existente.

Consejo de experto

Ten en cuenta que en la revisión del código no solo se trata de que un miembro del equipo experimentado revise el código de un novato. La revisión del código debe ocurrir en todo el equipo en todos los sentidos. ¡El conocimiento no tiene fronteras! Sí, la revisión del código ayuda a los nuevos ingenieros, pero no debe usarse únicamente como un ejercicio de mentor.

¡Pero las revisiones de código tardan mucho tiempo!

Eso es verdad. Sin embargo, no se trata de tiempo perdido en absoluto.

Estos son tres modos de optimizarlas. 

Comparte la carga

En Atlassian, muchos equipos requieren dos revisiones de cualquier parte del código antes de que se apruebe para la base de código. ¿Suena a demasiado trabajo? En realidad, no es así. Cuando un autor selecciona revisores, extiende una amplia red por todo el equipo. Cualquier par de ingenieros puede aportar su opinión. Esto descentraliza el proceso para que nadie se convierta en un cuello de botella, y garantiza una buena cobertura de la revisión del código en todo el equipo.

Revisa antes de hacer un merge

Exigir la revisión del código antes de hacer un merge más adelante garantiza que ninguna parte del código quede sin revisarse. Esto significa que las decisiones cuestionables de arquitectura realizadas a las dos de la mañana y un uso inapropiado de un patrón de fábrica por parte de un becario se detectan antes de que tengan un efecto duradero del que lamentarse en tu aplicación.

Saca partido de la presión de los compañeros

Cuando los desarrolladores saben que los va a revisar un compañero, se esfuerzan más para garantizar que se superan todas las pruebas y que el código está bien diseñado, y así el proceso de revisión puede ser más fluido. Esa concentración también tiende a conseguir una programación más fluida y, con el tiempo, más rápida.

No esperes a una revisión del código si se necesita feedback en una fase temprana del ciclo de desarrollo. Un feedback temprano y frecuente a menudo implica un código mejor, así que no temas implicar a otras personas en cualquier momento. Conseguirás que mejore tu trabajo, pero también que tus compañeros de equipo sean mejores revisores del código. Y así continúa el ciclo de virtudes.

Recommended for you

Plantillas

Plantillas de Jira listas para usar

Echa un vistazo a nuestra biblioteca de plantillas personalizadas de Jira para varios equipos, departamentos y flujos de trabajo.

Guía del producto

Una introducción completa a Jira

Usa esta guía paso a paso para descubrir las funciones esenciales y las prácticas recomendadas para maximizar tu productividad.

Guía de Git

Los conceptos básicos de Git

Tanto si eres principiante como si ya tienes nivel de experto, usa esta guía de Git para aprender los conceptos básicos con tutoriales y consejos útiles.