Una revisión de código es cuando alguien que no es el autor inspecciona el código fuente y busca problemas. Ya sea que tengas que realizar revisiones de código o que estés en el extremo receptor, habrás visto las latencias que pueden agregar a tu flujo de trabajo. Afortunadamente, una gran lista de verificación de revisión de código puede acelerar el proceso y aumentar la exhaustividad de las revisiones de código.

Seguir las mejores prácticas de revisión de código puede beneficiar a tu negocio y al producto final. Ya sea que tus revisiones dependan de varias personas, de la automatización o de la retroalimentación asincrónica, nuestra guía cubre cómo puedes ser un mejor revisor de código. Para ir más allá, compartiremos recursos que todo desarrollador debería tener, incluyendo nuestra plantilla de lista de verificación de revisión de código.

Tabla de contenido:

  • Una lista de verificación de revisión de código completa
  • Plantilla de lista de verificación de revisión de código
  • ¿Cuál es el propósito de las revisiones de código?
  • En qué no enfocarse en una revisión de código
  • Cómo mejorar tu proceso de revisión de código
  • Preguntas frecuentes sobre revisión de código
  • Descubre cómo Pluralsight Flow puede mejorar tus revisiones de código

Una lista de verificación de revisión de código completa

Los desarrolladores senior siguen varias pautas de revisión de código al estudiar el trabajo de alguien. Tienen que considerar el diseño del código, el estilo, la funcionalidad, la complejidad, la nomenclatura y las pruebas. Hay muchas piezas en movimiento en una revisión de código exhaustiva, por eso es tan importante que los revisores de código adopten un enfoque estructurado y meticuloso. Aprovechar nuestra lista de verificación de siete pasos asegurará que no se omita nada.

Verificar los requisitos de la funcionalidad

Cada revisión comienza con una pregunta básica: «¿Este código cumple con lo que el usuario final necesita?» Los desarrolladores que trabajan en un proyecto no están codificando en un vacío. Su programa debe realizar funciones de manera confiable que el usuario espera. Si el desarrollador omitió este paso, pospone la revisión hasta que el código ofrezca el rango completo de características.

Para verificar los requisitos de la funcionalidad, pregúntate:

  • ¿Hay alguna funcionalidad que falte?
  • ¿Hay funciones implementadas deficientemente?
  • ¿Podrían agregar funciones relacionadas que el usuario quisiera?

Evaluar la legibilidad

Incluso si el código hace lo que se anuncia, aún no estás fuera de peligro. Además de cumplir con los requisitos básicos, deseas un código fácil de entender y limpio.

Revisa la legibilidad haciendo estas preguntas:

  • ¿Puedes identificar fácilmente el punto de inicio y finalización del bloque de código?
  • ¿Las líneas pueden ajustarse a una pantalla de computadora portátil estándar (14 pulgadas) o de escritorio (22-24 pulgadas)?
  • ¿El código habla por sí mismo y transmite su propósito?
  • ¿Prioriza la claridad y la brevedad?
  • ¿Evita el lenguaje oscuro?
  • ¿Puedes discernir el papel de funciones,?
  • ¿El desarrollador dividió el código en partes fáciles de entender?

Prueba de mantenibilidad

Con el tiempo, es posible que deba expandir o cambiar su código, por lo que asegurarse de que sea fácil de mantener y ajustar le ahorrará algunos dolores de cabeza.

Hágase estas preguntas para evaluar la mantenibilidad:

  • ¿El código es fácil de probar y depurar?
  • ¿Puedes configurar el código para cambiar rápidamente los valores de los datos?
  • ¿El código está vinculado a otro sistema o a un programa desactualizado?
  • ¿El código se basa en funciones o tecnología que desea eliminar?

Verifica las vulnerabilidades de seguridad

El código perfectamente funcional aún puede presentar vulnerabilidades que su desarrollador estaba demasiado ocupado para notar. Si bien un programador privado de sueño puede pasar por alto algunos riesgos de seguridad , los revisores de código no pueden arriesgarse a que alguien explote su código.

Para evitar vulnerabilidades de seguridad, haga estas preguntas:

  • ¿El código utiliza herramientas obsoletas o con problemas de seguridad conocidos?
  • Si quisiera robar datos o acceder a un sistema, ¿ve vulnerabilidades?
  • ¿El código aprovecha la autenticación y la autorización para la seguridad?
  • ¿Se desinfecta la entrada del usuario para evitar ataques de seguridad?
  • ¿El código almacena de forma segura los datos del usuario?
  • ¿El código protege P2 u otros datos relacionados con el RGPD ?

Considera la velocidad y el rendimiento

Sus problemas no terminan con la seguridad; el usuario sigue esperando un rendimiento fiable. Los revisores de código también deben sopesar el consumo de recursos de un programa frente a su velocidad. Equilibrar estas prioridades no siempre es fácil, pero un gran código debe marcar ambas casillas.

Hágase algunas preguntas para evaluar la velocidad y el rendimiento:

  • ¿El código contiene concatenaciones de cadenas, registros o asignaciones de objetos ineficientes?
  • ¿Puedes ver el código duplicado que no necesitas?
  • ¿El programa afectará negativamente el rendimiento general del sistema?
  • ¿El código se basa en activos mal optimizados o en varias solicitudes de API?

Confirma la documentación adecuada

La mejor documentación explica qué hace un código base y cómo puede usarlo. Sin embargo, incluso un gran código puede necesitar alguna documentación externa para facilitar su uso.

Para asegurarse de que la documentación esté al día, pregunte:

  • ¿La documentación explica el propósito del código?
  • ¿La documentación le enseña al usuario cómo usar el código?
  • ¿Hay nuevas características o cambios en el código que justifiquen documentación adicional?
  • ¿La documentación es clara y está bien escrita?

Inspecciona las convenciones de nomenclatura

Las convenciones de nomenclatura claras facilitan la lectura y comprensión del código. Cuando los programadores eligen nombres arbitrarios o subóptimos, incluso los grandes programas se vuelven difíciles de entender para los demás.

Puede inspeccionar las convenciones de nomenclatura preguntando:

  • ¿Ha revisado los nombres de variables, constantes, campos de clase, propiedades y métodos?
  • ¿Los nombres son simples y legibles?
  • ¿Los nombres se ajustan a las convenciones de nombres de su empresa?
  • ¿Los nombres transmiten qué es una función o variable?
  • ¿Los nombres explican el contexto o el alcance del código base general?

¿Cuál es el propósito de las revisiones de código?

La ventaja más evidente de las revisiones de código es garantizar que el código incorrecto no llegue a producción. Aún así, hay muchos otros beneficios, como el intercambio de conocimientos, la mejora de la seguridad y el fomento del trabajo en equipo. Los gerentes que realizan revisiones de código también ayudan a las organizaciones a lograr una mayor estandarización.

Beneficios de las revisiones de código: garantice la calidad del código, mejore la seguridad, comparta conocimientos, reduzca los costos de desarrollo

Asegurar código de calidad

Para cuando haya terminado de programar, probablemente esté cansado de mirar las mismas líneas de código. En este punto, es difícil mantenerse objetivo y se corre el riesgo de no cometer errores.

Ahí es cuando un par de ojos frescos ayuda. En primer lugar, te da la tranquilidad de que alguien más detectará cualquier problema en el código fuente mientras preparas un café (o té) muy necesario. Las revisiones también eliminan la depuración al principio del ciclo de vida del desarrollo en lugar de parchear los errores después del lanzamiento.

Compartir conocimientos y mejorar el trabajo en equipo

Aunque pueden parecer un obstáculo durante la producción, las revisiones de código brindan tanto al revisor como al revisor la oportunidad de aprender. Por ejemplo:

  • La persona que revisa el código estudia el código fuente y el estilo.
  • Los autores del código pueden aprender de cualquier comentario compartido y tener la oportunidad de poner en práctica sus lecciones.
  • Ambas partes se benefician de una mejor comunicación.

A través de este proceso, los autores y revisores de código pueden intercambiar ideas, discutir objetivos y desarrollar flujos de trabajo. Además de eso, la colaboración adicional rompe los silos entre el personal.

Mejorar la seguridad

Las revisiones de código seguro ayudan a identificar vulnerabilidades y fallas de seguridad en un proceso manual o automatizado. Los fallos de seguridad pueden dar lugar a:

  • Defectos en etapa tardía
  • Mala calidad en general
  • Menos mantenibilidad con el tiempo
  • Mayor deuda técnica
  • Robo de información del usuario

La prevención de problemas de seguridad por adelantado ahorra tiempo y la reputación de su empresa. Unos pocos minutos adicionales dedicados a verificar la seguridad se pagarán con creces.

Reducir los costos de desarrollo

Las revisiones de código detectan problemas menores que podrían convertirse en problemas importantes. La corrección temprana de errores puede ahorrar costos de desarrollo y ayudar al evaluado a identificar los problemas que debe tener en cuenta. Cuando es rentable y educativo, (literalmente) no puede darse el lujo de saltarse una revisión.

En qué no centrarse en una revisión de código

Hay mejores formas de pasar el tiempo que revisar cada detalle en una revisión de código. Algunas áreas tienen prioridad sobre otras, especialmente cuando busca optimizar su proceso. Con eso en mente, puede evitar centrarse en:

  • Tareas automatizables: incorpore la automatización en su revisión de código para ahorrar tiempo. Con la automatización, puede concentrarse en las tareas que la IA no puede manejar. Solo asegúrese de verificar el trabajo automatizado para evitar problemas de automatización .
  • Estética: si bien la legibilidad es importante, no es necesario llevar demasiado lejos la presentación del código. Manténgalo claro y fácil de seguir, pero no desperdicie recursos en estilo visual.
  • Preferencias personales: estandarice el código según las preferencias de su empresa o equipo, no las suyas. Cumplir con las pautas comerciales hace que el código de todos sea reconocible para los demás miembros del equipo.
Imagen de un gráfico que enumera el código revisa las prioridades de la más importante a la menos importante

Cómo mejorar su proceso de revisión de código

Ahora que sabe qué buscar en una revisión de código, puede perfeccionar el proceso. Hemos resumido algunos consejos para mejorar su proceso de revisión de código:

  • Adopte una guía de estilo: resuelva los debates de estilo adoptando una guía de estilo de código para toda la organización. No solo debe definir elementos superficiales como reglas de espacios en blanco o convenciones de nomenclatura, sino también cómo aprovechar las funciones de cualquier lenguaje de programación.
  • Vea las revisiones de código como tareas de alta prioridad: establezca pautas internas sobre la rapidez con la que debe terminar el código (como un tiempo de respuesta de un día para el código de cierta longitud o más si el código es significativamente más grande).
  • Apunte a comentarios procesables y preguntas de sondeo: en lugar de comentar el código, pregunte al autor por qué formatearon el código de cierta manera o cuál fue la intención detrás de una decisión. Usted está apuntando a un diálogo aquí.
  • Reemplace «usted» con «nosotros»: cuando mencione un problema, formatee su respuesta en una declaración «Nos gusta hacer X porque Y». Evite comentarios como: «No siguió nuestras pautas de estilo aquí». Recordarles a los desarrolladores que todos trabajan para el mismo equipo mantiene la moral alta.
  • Apóyate en los principios, no en las opiniones: Apunta a una retroalimentación objetiva basada en marcos o principios de codificación. Esto también proporciona una cultura de aprendizaje para que el autor comprenda mejor el «por qué» detrás de cierta retroalimentación.
  • Concéntrese en los aspectos que aportarán el mayor valor: no se centre en todas las oportunidades para mejorar el código durante una revisión. La perfección es excelente, pero dado el tiempo y el alcance de un proyecto, concéntrese en las áreas que tendrán el mayor impacto.
¿Cómo puedo ser un mejor revisor de código? Critique el código, no al autor. Mantente humilde.

Preguntas frecuentes sobre la revisión del código

¿Todavía tiene algunas preguntas sobre las pautas de revisión de código o qué buscar en una revisión de código? No te preocupes, tenemos respuestas.

¿Cuál es la diferencia entre una revisión de código y un verificador de código?

Los verificadores de código usan software para analizar el código fuente. Algunas organizaciones utilizan verificadores de código durante el desarrollo para acelerar el proceso de revisión y reducir la posibilidad de errores humanos. Este software utiliza análisis estático para revisar el código fuente en busca de errores, errores lógicos, estilo, documentación y sintaxis.

¿Qué herramientas agilizan las revisiones de código?

Los gerentes no tienen que trabajar solos en una lista de verificación de revisión de código seguro. Con las herramientas adecuadas, puede acelerar el proceso. Nosotros recomendamos:

  • Herramientas de análisis de código estático: el análisis estático analiza el código fuente en busca de errores y problemas de seguridad. Usar uno antes de su revisión puede ayudarlo a concentrarse en problemas más difíciles de encontrar.
  • Complementos para correcciones: los complementos para formatear, depurar y sugerir mejores prácticas pueden ayudarlo durante su revisión. Durante la revisión, estos complementos señalan problemas que podría haber pasado por alto.
  • Rastreadores de comentarios de revisión de código: las aplicaciones de revisión colaborativa y las herramientas de seguimiento de comentarios describen quién interactuó con el código y lo cambió. Cuando su revisión pasa por más de una fase, estas herramientas pueden ayudar a organizar el proceso.

¿Qué puntos de referencia y métricas debo tener en cuenta?

Los equipos deben seleccionar métricas o puntos de referencia de ingeniería de software para realizar un seguimiento de la eficacia de sus revisiones de código y su impacto en la calidad del código. Las métricas también brindan a los equipos medidas objetivas para estructurar las revisiones de código.

Las siguientes cuatro métricas son buenos puntos de partida para incluir en su proceso de revisión:

  • Tiempo de reacción: esta métrica ayuda a impulsar la colaboración en proyectos con múltiples desarrolladores. Simplemente registre cuánto tiempo le toma a un revisor responder a un comentario dirigido a él. Los tiempos de reacción más cortos generalmente significan un equipo más colaborador y receptivo.
  • PR no revisados: los líderes consultan los PR no revisados ​​para ver cuánto tiempo espera el código para una revisión por pares después de enviarlo. Los tiempos más cortos apuntan a una canalización efectiva donde las revisiones de código se realizan según lo programado.
  • Relaciones públicas revisadas minuciosamente: esta métrica mide la profundidad de cada revisión. El seguimiento de las relaciones públicas revisadas minuciosamente garantiza que nadie ponga el sello de goma a sus revisiones.
  • PR iterados: puede ver con qué frecuencia las revisiones de código dan como resultado errores corregidos o calidad mejorada a través de PR iterados. Una gran cantidad de PR iterados significa que las revisiones de su código dan como resultado mejoras medibles.

¿Cuántas líneas de código debo revisar a la vez?

Para obtener los mejores resultados, no revise más de 400 líneas de código a la vez. Más que eso, y corre el riesgo de perder errores, fallas lógicas y otros defectos. Mejor aún, si puede limitarse a 200 líneas de código a la vez, tendrá más éxito.

 564 total views,  4 views today