¿Qué hace Code Bloat Triage?
Objetivo
Reducir la complejidad injustificada sin sacrificar corrección, manejo necesario de fallos, accesibilidad, seguridad, evidencia o mantenibilidad.
Flujo de trabajo de triaje
- Identificar el requerimiento real orientado al usuario o de investigación y sus pruebas compatibles. Tratar la funcionalidad y la seguridad como restricciones.
- Inventariar posibles inflados: lógica duplicada, ramas muertas, dependencias no utilizadas, capas innecesarias, configuración especulativa, envoltorios redundantes y archivos generados sobredimensionados.
- Medir solo lo que es significativo: complejidad cognitiva, dependencias introducidas, cambio de código, cobertura duplicada, carga de revisión y estabilidad. Las líneas de código por sí solas no son una métrica de calidad.
- Para cada candidato, preguntar: ¿Qué requerimiento o fallo respalda esto? Rastrear hasta la evidencia; conservarlo si es necesario, incluso si es verboso.
- Ordenar los cambios: eliminar lo no utilizado, consolidar lo duplicado, simplificar abstracciones, luego optimizar rutas críticas. Evitar una reescritura masiva cuando una corrección local sea suficiente.
- Hacer el cambio reversible más pequeño bajo pruebas; realizar comprobaciones positivas y de regresión. Preservar el comportamiento y los contratos observados externamente.
- Reportar beneficios y compensaciones. Si la eliminación debilita la cobertura u oscurece el comportamiento, no fusionar la simplificación.
Protecciones
No eliminar procedencia de investigación, validaciones, límites de aprobación, controles de seguridad o ejemplos de fallos conocidos simplemente para reducir el número de archivos. No agregar bibliotecas nuevas injustificadas para funciones pequeñas. No alterar la semántica de puntos de referencia congelados bajo una etiqueta de refactorización.
Salida
Registro de decisiones con candidatos, razón, prueba, riesgo del cambio y salvaguardas retenidas.
Criterios de éxito
Un revisor puede justificar cada eliminación y confirmar que el comportamiento compatible y los límites de confianza no han cambiado.