5 min lectura • Guide 393 of 877
Seguimiento de Calidad de Código
La calidad de código afecta la velocidad, bugs y moral del equipo. Un buen seguimiento de calidad identifica tendencias y áreas de mejora. Un mal seguimiento se convierte en overhead burocrático que los equipos ignoran. Esta guía cubre la medición práctica de calidad de código.
Métricas de Calidad
| Métrica | Mide | Objetivo |
|---|---|---|
| Cobertura tests | Amplitud de tests | Tendencia ascendente |
| Densidad bugs | Tasa de defectos | Tendencia descendente |
| Complejidad | Mantenibilidad | Estable/decreciente |
| Tiempo review | Salud del proceso | < 1 día |
Métricas Clave
Qué Rastrear
MÉTRICAS DE CALIDAD DE CÓDIGO
═════════════════════════════
COBERTURA DE TESTS:
─────────────────────────────────────
Qué rastrear:
├── Cobertura de líneas (básico)
├── Cobertura de branches (mejor)
├── Cobertura en código nuevo (mejor)
├── Tendencia de cobertura en el tiempo
└── La dirección importa
Buen enfoque:
├── Código nuevo debe mantener cobertura
├── Rastrear tendencia, no absoluto
├── Identificar rutas críticas sin testear
├── Calidad de tests también importa
└── Cobertura significativa
MÉTRICAS DE BUGS:
─────────────────────────────────────
├── Bugs encontrados en producción
├── Densidad de bugs (bugs por KLOC)
├── Tiempo para arreglar
├── Tasa de defectos escapados
├── Tendencia en el tiempo
└── Indicador de calidad
COMPLEJIDAD DE CÓDIGO:
─────────────────────────────────────
├── Complejidad ciclomática
├── Complejidad cognitiva
├── Longitud de archivo/función
├── Cantidad de dependencias
├── Hot spots (complejo + cambiado frecuente)
└── Mantenibilidad
CODE REVIEW:
─────────────────────────────────────
├── Tiempo hasta primera revisión
├── Tiempo hasta merge
├── Tendencia de comentarios de review
├── Rigurosidad de revisión
├── Salud del proceso
└── Medida de colaboración
Quality Gates
Checks Automatizados
QUALITY GATES
═════════════
GATES DE PIPELINE CI:
─────────────────────────────────────
Etapa 1: Build
├── Compila
├── Linting pasa
├── Verificación de formato
└── Salud básica
Etapa 2: Tests
├── Tests unitarios pasan
├── Tests integración pasan
├── Cobertura no disminuyó
└── Calidad funcional
Etapa 3: Análisis
├── Escaneo de seguridad
├── Verificación de dependencias
├── Verificación de complejidad
├── Análisis estático
└── Calidad profunda
PIPELINE EJEMPLO:
─────────────────────────────────────
build → lint → test → coverage → security → deploy
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
Debe Debe Debe Verificar Verificar
pasar pasar pasar tendencia alertas
CONFIG DE QUALITY GATES:
─────────────────────────────────────
# Ejemplo reglas de calidad
cobertura:
cobertura_codigo_nuevo: >= 80%
cambio_cobertura: >= 0% # Sin disminución
complejidad:
max_complejidad_funcion: 15
max_longitud_archivo: 400
Seguimiento de Tendencias
Dashboard de Tendencias
DASHBOARD DE TENDENCIAS DE CALIDAD:
┌─────────────────────────────────────────────────────────────┐
│ │
│ TENDENCIA ÚLTIMOS 6 MESES: │
│ │
│ COBERTURA: │
│ Ene Feb Mar Abr May Jun │
│ 68% 70% 72% 71% 75% 78% ▲ +10% │
│ │
│ COMPLEJIDAD PROMEDIO: │
│ Ene Feb Mar Abr May Jun │
│ 18 17 16 15 14 12 ▼ -33% (mejor) │
│ │
│ BUGS EN PRODUCCIÓN: │
│ Ene Feb Mar Abr May Jun │
│ 15 12 14 10 8 6 ▼ -60% │
│ │
│ TIEMPO MEDIO DE REVIEW: │
│ Ene Feb Mar Abr May Jun │
│ 36h 28h 24h 20h 18h 16h ▼ -56% │
│ │
└─────────────────────────────────────────────────────────────┘
Alertas y Umbrales
Configuración de Alertas
SISTEMA DE ALERTAS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ ALERTAS AUTOMÁTICAS: │
│ │
│ 🔴 CRÍTICO: │
│ • Cobertura cae > 5% en un PR │
│ • Vulnerabilidad de seguridad crítica │
│ • Build roto en main │
│ → Acción: Bloquear + notificar inmediatamente │
│ │
│ 🟡 ADVERTENCIA: │
│ • Complejidad excede umbral │
│ • Deuda técnica aumenta │
│ • Review pendiente > 24 horas │
│ → Acción: Notificar, no bloquear │
│ │
│ 🔵 INFO: │
│ • Reporte semanal de métricas │
│ • Tendencias mensuales │
│ → Acción: Email/dashboard │
│ │
└─────────────────────────────────────────────────────────────┘