M06L14Semana 4~5 h
L14 — Patrón Result tipado
~5 h · Semana 4
Result<T, E> hace explícito el fracaso sin depender solo de excepciones.
Objetivo
Implementar Result genérico y migrar operaciones core (prestar, agregar) a retorno Result.
Pasos
1. Tipo base (60 min)
export type Ok<T> = { ok: true; value: T };
export type Err<E> = { ok: false; error: E };
export type Result<T, E = string> = Ok<T> | Err<E>;
2. Helpers (60 min)
ok(), err(), map, flatMap (opcional pero recomendado).
3. Migración API (120 min)
Elige: excepciones solo en frontera CLI ; dominio usa Result.
4. Tests (60 min)
Casos ok y err tipados (E union de códigos literales).
5. Documentación (30 min)
En README interno, cuándo usar Result vs throw.
Hecho cuando
- Operaciones principales exportan Result.
- Callers manejan
okcon narrowing. - Tests cubren ambos caminos.
Errores comunes
- Result con
error: any. - Mezclar throw y Result sin regla.