Aplícalo esta semana
Comprensión · ejemplo: Ciclo TDD de Email
Ejemplos resueltos que se desvanecen
Ver la solución completa, luego completar huecos cada vez más grandes.
Primero estudias un ciclo TDD completo escrito por alguien. En el segundo ejemplo falta una línea; en el tercero, la mitad. La ayuda se retira poco a poco hasta que escribes solo. Reduce la carga cognitiva cuando todo es nuevo.
- Para quién
- Principiantes. En expertos pierde efecto (efecto de inversión de la experiencia).
- Fuente
- Sweller y Cooper (1985); Renkl y Atkinson (2003), Structuring the Transition From Example Study to Problem Solving
- Muchos estudios controlados y metaanálisis coinciden.
El plan en el tiempo
Qué haces antes, durante y después. Mueve t y mira qué ya ocurrió.
Antes de encontrar el concepto t<0
Esta metodología no prepara nada antes: llegas en frío al concepto.
El encuentro t=0
- t=0
Estudias un ciclo rojo, verde, refactor completo
Ejemplo resuelto · 30 min · Ver un problema resuelto paso a paso reduce la carga cognitiva del principiante.
Después: consolidar t>0
- t=+1
Completas un segundo ejemplo con una línea faltante
Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.
- t=+3
Completas un tercero con la mitad faltante
Aplicación · 30 min · Usar el concepto en un problema nuevo construye transferencia.
- t=+7
Escribes el ciclo completo sin ayuda
Recuperación · 10 min · Sacar de memoria sin mirar fortalece el recuerdo más que volver a ver (efecto de prueba).
Trayectoria frente al método de control
Se aplica en la ruta
Úsala programando, no solo leyendo
Pruébalo ahora
Ciclo TDD de Email
Estudia un ciclo TDD completo y completa los siguientes con cada vez menos ayuda.
- t=0Completo
- t=+1Un hueco
- t=+3Tres huecos
Ejemplo 1 · completo: estúdialo
def test_email_sin_arroba_se_rechaza():
with pytest.raises(EmailInvalido):
Email("ana.ejemplo.com")
@dataclass(frozen=True)
class Email:
valor: str
def __post_init__(self):
if "@" not in self.valor:
raise EmailInvalido(self.valor)Fíjate en el orden: primero la prueba que describe la regla, después el Value Object mínimo que la cumple. La validación vive en __post_init__.
Cuándo no usarla
Si ya dominas el tema: los ejemplos te sobran y te frenan.
Señal de que funciona
Cada vez necesitas mirar el ejemplo menos veces.
Tu decisión
¿Ejemplos resueltos que se desvanecen te hizo aprender?
Responde después de probar el ejemplo. Se guarda solo en este navegador.