Retornos Tempranos y Cláusulas de Guardia (Early Exit)

Reduce la complejidad ciclomática de las funciones comprobando primero las condiciones de fallo o casos base y retornando de inmediato.

1. Antipatrón vs Patrón Recomendado

// ANTIPATRÓN: Código en escalera con indentación profunda
function procesarPayload(data: unknown) {
  if (data) {
    if (typeof data === 'object') {
      if ('id' in data) {
        return (data as any).id;
      }
    }
  }
  return null;
}
 
// PATRÓN RECOMENDADO: Cláusulas de guardia planas
function procesarPayload(data: unknown): string | null {
  if (!data || typeof data !== 'object') {
    return null;
  }
  if (!('id' in data)) {
    return null;
  }
  return String((data as any).id);
}

2. Aplicación en Handlers de Eventos

En componentes interactivos del cliente:

function onKeydown(e: KeyboardEvent) {
  if (e.key !== 'Escape') return;
  if (!isModalOpen) return;
 
  cerrarModal();
}