¿Qué es la Inspección de Código?
La inspección del código es el proceso de revisión y mejora del código antes de las pruebas.
Tanto las pruebas como la inspección tienen como objetivo mejorar el código, pero se basan en 2 conceptos distintos:
- Las pruebas son dinámicas y ejecutan el software para comprobar sus funcionalidades.
(Ver también: Pruebas Automatizadas con AscentialTest) - La inspección del código analiza el código fuente basado en un conjunto de reglas.
¿Inspección manual, automatizada o continua?
Existen varias estrategias posibles para la inspección del código:
Estrategia | Descripción | Pros y Contras |
---|---|---|
Revisión del código manual | Entre compañeros de equipo se revisa el código del otro para encontrar y arreglar posibles defectos. | Mejora la calidad del código a bajo costo > frecuencia limitada |
Programación de pares | 2 programadores en 1 escritorio: uno escribe el código mientras el otro lo revisa. | Mejora la calidad del código y transfiere conocimiento entre colegas. La productividad puede ser un desafío. |
Inspección Automatizada | Revisión realizada por una máquina. | No hay limitaciones en la frecuencia. Requiere herramientas de análisis de código |
Inspección continua del código | Revisiones automáticas incluidas en un flujo de trabajo de integración continua. | Ver Abajo |
¿Por qué implementar la inspección continua del código?
La Inspección Continua del Código está destinada a realizar una revisión completa del código cada vez que se genera un build.
Reduce el tiempo entre la creación del build y el descubrimiento de los problemas de calidad y/o seguridad.
A continuación se presentan algunos ejemplos de objetivos de la inspección continua:
- Detectar y eliminar las vulnerabilidades de seguridad
- Cumplir con las normas de "gramática" del código
- Cumplir con las normas de legibilidad del código
- Verificar que la arquitectura de la aplicación sigue las reglas establecidas
- Eliminar los duplicados del código
- Mejorar el rendimiento
- Y más...
Roadmap
Paso a paso, Visual Expert consolidará un conjunto de funcionalidades para soportar totalmente la Inspección de Código Continuo:
- Para empezar, VE detecta problemas de seguridad y mantenimiento, así como errores.
Más adelante, se incluirá la detección de errores de sintaxis y la métrica del código. - Al principio, la inspección del código se hace a través de la interfaz de usuario de Visual Expert. Luego, VE generará informes HTML.
- VE proveerá un Plug-in Jenkins, para integrar las Inspecciones Continuas de Código en un Flujo de Trabajo de Integración Continua.
¿Qué tipos de problemas se detectan?
Visual Expert implementa un gran número de reglas, para verificar su código bajo varios ángulos con el fin de mejorar su seguridad, estabilidad y mantenimiento.
- Más de 300 reglas están disponibles actualmente. Puede ver la lista aquí.
- ¿Falta algo? Por favor, háganoslo saber. ¡Siempre agradecemos las sugerencias!
- Visual Expert 2020.8 puede detectar vulnerabilidades de seguridad, errores y problemas de mantenimiento.
Las siguientes versiones añadirán errores de sintaxis y métrica a la lista de temas soportados:
Bug | Defectos o errores - aparte de los errores de sintaxis - que pueden alterar la aplicación en cualquier momento. Arreglarlo es de máxima prioridad. |
Mantenibilidad | Un problema de la calidad del código no es un error. No es técnicamente incorrecto y no impide que la aplicación funcione. Pero hace que los cambios sean mucho más caros y aumenta la probabilidad de introducir nuevos errores. |
Vulnerabilidad | Una falla o debilidad en el código podría generar una brecha de seguridad. |
Advertencia de seguridad | Un pedazo de código que puede crear una brecha de seguridad, pero debe ser examinado manualmente para determinarlo. |
Métrico | Mediciones objetivas de ciertas propiedades o entidades del código. Tradicionalmente se utiliza para la estimación de costos, garantía de calidad, depuración, optimización del rendimiento y asignación de tareas. |
Error de sintaxis | Error gramatical en la sintaxis de una frase que puede impedir la compilación o ejecución del código. Arreglarlo es de la más alta prioridad. |
Gravedad del problema
No todos los temas son críticos.
Para ayudar a priorizar las mejoras, cada tema viene con un nivel de gravedad:
Crítico | Bug que probablemente alterará el buen funcionamiento de la aplicación y debe ser arreglado lo antes posible. |
Mayor | Vulnerabilidad de seguridad, o un error que podría alterar el correcto funcionamiento de la aplicación. Debe ser solucionado lo más rápido posible. |
Menor | Defecto de calidad que puede afectar significativamente a la productividad del desarrollador. |
Bajo | Defecto de calidad que puede afectar ligeramente a la productividad del desarrollador. |
Información | Métrica o información sobre el código. |
¿Cómo se define la gravedad de un problema?
El nivel de gravedad de un problema depende de su impacto y probabilidad.
El impacto alto/bajo se evalúa con los siguientes criterios:
- En cuanto a los errores: ¿puede este problema alterar la aplicación o corromper los datos almacenados?
- Para las vulnerabilidades: si esta brecha fuera explotada, ¿causaría un daño significativo?
- Para problemas de mantenimiento: ¿podría este problema causar que un desarrollador introduzca un error?
Critico | Mayor | Menor | Bajo | |
---|---|---|---|---|
Impacto | Alto | Alto | Bajo | Bajo |
Probabilidad | Alto | Bajo | Alto | Bajo |
¿Qué lenguajes son compatibles?
Visual Expert actualmente soporta la inspección de código para PowerBuilder, Oracle y SQL Server.
¿Cómo inspeccionar su código?
Seleccione el tipo de código que desea revisar:
- Cómo inspeccionar el código de PowerBuilder
- Cómo inspeccionar el código de SQL Server
- Cómo inspeccionar el código de Oracle