Revisión de código

Introducción a las revisión de código

La revisión de código es un proceso de revisión por homólogos que se utiliza para examinar el código con objeto de identificar problemas y mejorar la calidad del software. La revisión de código es una tarea importante en el desarrollo de software para sistemas integrados, especialmente aquellos que requieren certificación.

Un equipo de revisión de código generalmente consta de un moderador, un ingeniero o gerente de calidad, y desarrolladores de software pares. El equipo de revisión de código generalmente sigue una lista de revisión de código para revisar uno a uno todos los aspectos del software. Por ejemplo, evaluar la complejidad del código, buscar errores de lógica o de programación comunes y comprobar la conformidad con estándares de codificación tales como MISRA C/C++ o CERT C/C++. Se suelen utilizar herramientas de análisis estático de código como ayuda en las revisiones de código.

¿Por qué realizar revisiones de código?

Los equipos de software adoptan prácticas de revisión de código para:

  • Detectar errores de codificación: reducir el riesgo de que se encuentren errores en una fase tardía del ciclo de desarrollo o por parte de un cliente
  • Comprobar si hay infracciones a los estándares de codificación: verificar la conformidad con estándares de codificación tales como MISRA C, CWE, CERT C/C++ o AUTOSAR C++14
  • Simplificar el código: mejorar la legibilidad y la mantenibilidad, y reducir la probabilidad de fallos y defectos
  • Identificar problemas de lógica y arquitectura: detectar problemas desde las primeras etapas de desarrollo para reducir el tiempo y el esfuerzo en pruebas del software
  • Promover la responsabilidad compartida: mejorar la calidad y el intercambio de conocimientos repartiendo la responsabilidad entre los integrantes del equipo
  • Asesorar a nuevos ingenieros: formar a nuevos ingenieros en prácticas de codificación, diseño y arquitectura

Prácticas recomendadas para la revisión de código

 Flujo de trabajo típico de desarrollo de software.

Flujo de trabajo típico de desarrollo de software.

Aunque existen varias técnicas de revisión de código, la mayoría se basa en unas pocas prácticas recomendadas:

  • Defina y comunique los objetivos y el proceso de la revisión de código: integre las revisiones de código en el proceso de desarrollo de software y asegúrese de que el equipo de software entienda las ventajas del proceso y los roles de cada integrante
  • Cree una lista de revisión de código: proporcione pautas sistemáticas para verificar que el código cumple con los estándares de calidad
  • Defina el objetivo de calidad: identifique claramente los criterios para la aprobación de cambios de código
  • Cree un ambiente colaborativo: concéntrese en el código, no en quien codifica, para lograr los objetivos de la revisión de código; recuérdeles a los revisores que sean objetivos, cuidadosos y constructivos en sus comentarios
  • Proporcione el tiempo necesario: limite el tiempo de revisión del código a no más de 60 minutos, o unas 400 líneas de código, para mantener a los revisores concentrados y atentos
  • Ofrezca una formación adecuada: concéntrese en el desarrollo de habilidades de los integrantes del equipo

Cómo aumentar la eficiencia de las revisiones de código

La ineficiencia del proceso de revisión de código puede reducir la productividad y causar frustración. El análisis estático es una manera rápida y eficiente de encontrar errores de programación y garantizar la conformidad con las reglas y convenciones de codificación. Los revisores de código pueden centrarse en los aspectos más interesantes de la revisión de código, como detectar problemas de lógica y diseño.

Cómo los productos de Polyspace aceleran el proceso de revisión

Los productos de Polyspace para el análisis estático de código emplean métodos formales para comprobar si el código fuente presenta infracciones de estándares de codificación, defectos y vulnerabilidades de seguridad. También puede utilizar estos productos para demostrar la ausencia de errores de tiempo de ejecución críticos en todas las estructuras de control y todos los flujos de datos posibles.

Polyspace se integra fácilmente con otras herramientas de desarrollo de software para proporcionar eficiencia y garantizar el análisis estático de cada entrega de código mediante:

  • Análisis de código antes de la revisión: encuentre problemas conforme se escribe el código utilizando Polyspace as You Code desde entornos de desarrollo integrados (IDE) como Visual Studio, Visual Studio Code o Eclipse. Los desarrolladores pueden encontrar problemas en el archivo que estén editando o ejecutar un análisis de todos los archivos antes de la revisión de código.
Detección de errores de codificación con el complemento Polyspace as You Code en Visual Studio Code.

Detección de errores de codificación con el complemento Polyspace as You Code en Visual Studio Code.

  • Integración del análisis estático con herramientas de revisión de código: integre Polyspace en herramientas de revisión de código tales como Review Board y Gerrit, donde Polyspace actúa como revisor ejecutando análisis de los cambios de código y devolviendo los resultados a la herramienta
Flujos de trabajo de la herramienta de revisión de código con análisis de Polyspace automatizado.

Flujos de trabajo de la herramienta de revisión de código con análisis de Polyspace automatizado.

Más información sobre los productos de Polyspace

  • Polyspace Bug Finder™ comprueba si el código fuente C/C++ presenta infracciones de estándares de codificación, busca diversos tipos de bugs, detecta vulnerabilidades de seguridad y calcula métricas de calidad, tales como métricas de complejidad del código
  • Polyspace Code Prover™ emplea métodos formales para demostrar la ausencia de errores de tiempo de ejecución críticos en el código fuente C/C++ sin necesidad de ejecutar el código
  • Los productos de Polyspace para Ada prueban la ausencia de errores de tiempo de ejecución en código fuente Ada