Revisión de código


La revisión de código (a veces denominada revisión por pares ) es una actividad de aseguramiento de la calidad del software en la que una o varias personas verifican un programa principalmente viendo y leyendo partes de su código fuente , y lo hacen después de la implementación o como una interrupción de la implementación. Al menos una de las personas no debe ser el autor del código. Las personas que realizan la verificación, excepto el autor, se denominan "revisores". [1] [2]

Aunque el descubrimiento directo de los problemas de calidad suele ser el objetivo principal, [3] las revisiones de código generalmente se realizan para alcanzar una combinación de objetivos: [4] [5]

La definición de revisión de código mencionada anteriormente la delimita frente a técnicas de garantía de calidad de software vecinas pero separadas: En el análisis de código estático, la verificación principal la realiza un programa automatizado, en las autoverificaciones solo el autor verifica el código, al probar la ejecución del código es una parte integral, y la programación por pares se realiza continuamente durante la implementación y no como un paso separado. [1]

Existen muchas variaciones de los procesos de revisión de código, algunas de las cuales se detallarán a continuación. Los tipos de revisión adicionales son parte de IEEE 1028

El proceso de revisión de código históricamente primero que se estudió y describió en detalle fue llamado "Inspección" por su inventor Michael Fagan . [7] Esta inspección de Fagan es un proceso formal que involucra una ejecución cuidadosa y detallada con múltiples participantes y múltiples fases. Las revisiones formales de código son el método tradicional de revisión, en el que los desarrolladores de software asisten a una serie de reuniones y revisan el código línea por línea, generalmente utilizando copias impresas del material. Las inspecciones formales son extremadamente exhaustivas y han demostrado su eficacia para encontrar defectos en el código que se está revisando. [7]

En los últimos años, [ ¿cuándo? ] muchos equipos en la industria han introducido un tipo de revisión de código más ligero. [8] [3] Su principal característica es que el alcance de cada revisión se basa en los cambios en el código base realizados en un ticket, historia de usuario, confirmación o alguna otra unidad de trabajo. Además, existen reglas o convenciones que integran la tarea de revisión en el proceso de desarrollo (p. ej., "cada ticket debe revisarse"), en lugar de planificar explícitamente cada revisión. Este proceso de revisión se denomina "revisión de código regular basada en cambios". [1]Hay muchas variaciones de este proceso básico. Una encuesta entre 240 equipos de desarrollo de 2017 encontró que el 90 % de los equipos usan un proceso de revisión que se basa en cambios (si es que usan revisiones) y el 60 % usa una revisión de código regular basada en cambios. [3] Además, la mayoría de las grandes corporaciones de software como Microsoft, [9] Google, [10] y Facebook siguen un proceso de revisión de código basado en cambios.