Saltar al contenido

Medir el puente, y cuándo no cruzarlo

Cierre de la fase III: el presupuesto de cruces de una interacción, cómo se mide en tu aplicación, y la lista de decisiones que la fase deja tomadas.

El presupuesto

Una interacción de usuario —un clic, una tecla, abrir una pantalla— tiene un presupuesto razonable, y ponerle número convierte una intuición en algo comprobable:

La fila que más sorprende es la de reposo: una aplicación quieta debería cruzar cero veces. Si el contador sube con la aplicación abierta y nadie tocándola, hay un sondeo.

Medirlo de verdad

No hace falta nada elaborado. Un contador en el frontend, envuelto alrededor de tu módulo del puente —el del nivel 6.1— y una tecla que lo imprima:

TypeScript
// lib/puente.ts — el envoltorio que ya tenías, ahora contandolet cruces = 0;const porComando = new Map<string, number>();export async function llamar<T>(nombre: string, fn: () => Promise<T>): Promise<T> {  cruces++;  porComando.set(nombre, (porComando.get(nombre) ?? 0) + 1);  return fn();}export function informe() {  console.table([...porComando].sort((a, b) => b[1] - a[1]));  console.log('total:', cruces);}

Y el procedimiento, que cabe en diez minutos:

  1. Abre la aplicación y no toques nada durante un minuto. Imprime. Debería ser cero. Lo que salga aquí es sondeo.
  2. Haz el recorrido principal una vez. Imprime. Compara con el presupuesto de arriba.
  3. Ordena por comando. El que más aparece es el primer candidato a agrupar o a convertirse en evento.

Ese informe suele dar una sorpresa a la primera, y casi siempre es un comando que alguien puso dentro de un render.

Las correcciones, por rentabilidad

Si te pasas del presupuesto, en este orden:

Lo que la fase III deja decidido