Explica fitness functions como controles automatizados que verifican dependencias, contratos, seguridad, rendimiento y otras restricciones arquitectónicas en evolución.
Última actualización
Actualizada
Nivel
Profundización
Una fitness function convierte una intención arquitectónica en una comprobación objetiva. Su propósito no es medir todo, sino detectar temprano cuándo una característica importante se aleja del rango aceptable.
Las arquitecturas evolucionan con cada cambio. Aunque un diagrama inicial sea correcto, imports, configuraciones, datos y despliegues pueden degradar los límites de forma gradual.
Una fitness function responde:
Texto
característica importante
+ forma de medirla
+ umbral o regla
+ frecuencia
+ responsable
+ acción cuando falla
Ejemplo:
Texto
característica: aislamiento entre módulos
medida: grafo de dependencias
regla: Orders no importa internals de Inventory
frecuencia: cada pull request
acción: bloquear merge y mostrar la ruta del import
La función no decide si los límites originales son buenos. Comprueba que el sistema sigue respetando una decisión explícita.
Una herramienta que reporta una vulnerabilidad no determina automáticamente riesgo explotable. La política necesita severidad, exposición, excepciones y plazo de corrección.
Algunas propiedades todavía requieren juicio humano. Una revisión estructurada puede ser una fitness function si posee criterio, evidencia y periodicidad; no es necesario automatizar de forma ficticia.
Supón módulos sales, inventory, payments y notifications.
Reglas:
Texto
sales puede usar inventory.public
sales no puede importar inventory.internal
payments no escribe tablas de sales
notifications consume eventos, no tablas operacionales
Una fitness function analiza imports. Otra inspecciona permisos de base. Una tercera ejecuta contract tests de eventos.
La misma intención necesita varios mecanismos porque el límite existe en código, datos y comunicación.
Una regla absoluta puede necesitar excepción legítima. Las excepciones deben ser:
Explícitas.
Pequeñas.
Justificadas.
Con propietario.
Con fecha o condición de revisión.
Visibles en los reportes.
Texto
excepción: Reporting lee réplica derivada de Sales
razón: consultas analíticas
límite: solo lectura, datos con retraso
revisión: al migrar pipeline analítico
Desactivar la regla global para resolver una excepción elimina su valor.
Un sistema puede respetar todas las reglas y tener boundaries equivocados. Las fitness functions protegen decisiones, no garantizan que sean correctas.
Evaluación y revisión de arquitectura enseña a combinar escenarios, evidencia y criterio humano para determinar si una arquitectura sigue siendo adecuada.