[HDP-150] SonarQube
- Pronoide Wiki Web
Este curso aborda la gestión de proyectos con Maven, control de versiones e integración continua. Incluye análisis de métricas, configuración de proyectos, estándares de codificación, herramientas como Checkstyle y PMD, complejidad, código duplicado y documentación. Además, explora plugins, seguridad y soporte para proyectos no Java en entornos ágiles.
Duración: 20 horas
Perfil: Experto
Dirigido a
Esta acción formativa va dirigida a programadores, analistas Java, jefes de proyecto, arquitectos y Product Owners que deseen implementar y gestionar herramientas de análisis estático de código en sus proyectos, mejorar la calidad y la seguridad del código mediante SonarQube y otras herramientas asociadas.
Requisitos previos
Los alumnos necesitarán tener experiencia con algún lenguaje de lenguaje de programación, como Java, y conocimientos básicos de herramientas de control de versiones, integración continua, desarrollo ágil, pruebas de software y métricas de calidad.
Objetivos
- Configurar y gestionar proyectos con SonarQube.
- Aplicar reglas y estándares de codificación.
- Integrar herramientas de análisis como Checkstyle, PMD, Findbugs y Clover en el ciclo de desarrollo.
- Evaluar y analizar métricas clave de software como complejidad ciclomática, código duplicado y cobertura de pruebas.
- Implementar buenas prácticas para asegurar la calidad y la evolución de los proyectos de software.
- Aplicar principios ágiles en el desarrollo de software con un enfoque en la mejora continua de la calidad del código.
Contenido
Gestión de Proyectos con Maven
Configuración y estructura de proyectos utilizando Maven para facilitar la integración con SonarQubeUso del Control de Versiones
Integración de SonarQube con sistemas de control de versiones como Git, para análisis continuos del códigoIntegración Continua
Implementación de SonarQube en pipelines de integración continua para asegurar la calidad del código durante todo el ciclo de desarrolloMétricas de Proyectos en SonarQube
Configuración y análisis de métricas clave del proyecto en SonarQube, como complejidad, cobertura de pruebas y código duplicadoConfiguración de Proyectos en SonarQube
Pasos para configurar un proyecto en SonarQube, incluyendo la integración con herramientas de construcciónReglas y Estándares de Codificación
Definición y aplicación de reglas de codificación personalizadas y estándares para garantizar la calidad y consistencia del códigoHerramientas de Análisis de Código
Integración de herramientas como Checkstyle, PMD, FindBugs y Clover para mejorar la calidad del código fuenteCuadro de Mando de SonarQube
Uso del panel de control de SonarQube para visualizar las métricas de calidad, identificar problemas y realizar el seguimiento del progresoMétricas de Ingeniería de Software
Análisis de métricas fundamentales como la complejidad ciclomática, tamaño, violaciones de código y diseño del softwareAnálisis de Complejidad Ciclomática
Evaluación de la complejidad del código para identificar áreas que pueden beneficiarse de refactorizaciónDetección de Código Duplicado
Identificación y manejo de código duplicado para reducir el riesgo de errores y facilitar el mantenimiento del códigoDocumentación y Comentarios
Revisión de la calidad de la documentación y los comentarios en el código como parte de las métricas de calidadTamaño del Proyecto
Evaluación del tamaño del código y sus implicaciones en el mantenimiento y escalabilidad del proyectoViolaciones de Reglas y Estándares
Identificación y resolución de violaciones de las reglas definidas para mejorar la calidad del códigoAnálisis del Diseño del Software
Revisión de las estructuras de diseño del software para asegurar una arquitectura limpia y eficienteControl de Pruebas
Gestión y análisis de las pruebas automatizadas para garantizar la cobertura y la calidad del códigoEvolución Temporal de un Proyecto
Seguimiento de la evolución del proyecto en el tiempo, observando mejoras o deterioro en la calidad del códigoVisión del Código
Herramientas para obtener una visión global del código, facilitando la toma de decisiones en el desarrollo y mantenimientoPlugins de SonarQube
Uso de plugins adicionales para extender las capacidades de SonarQube y adaptarlo a diferentes necesidades del proyectoSecurización del Entorno
Implementación de medidas de seguridad en SonarQube para proteger el acceso a los proyectos y datos sensiblesSoporte para Proyectos No Java
Configuración y análisis de proyectos en otros lenguajes además de Java, como Python, C#, JavaScript, entre otrosEl Ecosistema Ágil
Aplicación de SonarQube en entornos ágiles, integrando la herramienta en el flujo de trabajo diario para mejorar la calidad de forma continuaEjemplo Práctico
Documentación Recomendada
SonarQube in Action
G. Ann Campbell and Patroklos P. Papapetrou
Octubre 2013 | 392 páginas