4. TDD - Test
• Pasos a seguir:
– Caso más simple
“positivo”
– Caso negativo
– Caso concreto distinto
– Más de un caso
concreto
– Casos bordes
– Pensar -:)
5. TDD - Implementación
• Pasos a seguir:
– Mínima implementación
que funcione
• ¡No generalizar de entrada!
• Manejar la ANSIEDAD
– Parametrizar cuando el test
lo pida
– Generalizar cuando el test
lo pida
6. TDD - Refactor
• Pasos a seguir:
– Sacar objetos hard codeados
– Sacar código repetido
– Buscar patrones repetidos y reificar
– Usar buenos nombres
– Buen modelo
• Cambiable ¡Entendible!
• Aparece algo nuevo en el dominio
aparece algo nuevo en el modelo
7. Metodología
• Coding Dojo
• Problemas
– No todos manejan el mismo lenguaje
– No todos manejan el mismo IDE
– No todos usan el mismo tipo de laptop
• Propuesta: “Coding Dojo Custom”
8. Metodología
• Características:
– Pair Programming
– Cada pair con su
máquina, su lenguaje
e IDE
– Todos deben seguir el
ejercicio, “todos deben
hacer”
9. Metodología
• Pasos:
– 2 pair en el frente
– Un pair conectado al
cañon
– Escribe, hace pasar un
test, refactoriza
– Cambiamos por próx.
pair y viene otro al
frente
10. Metodología
• Comportamiento:
– En conjunto decidimos qué testear,
cómo implementar, etc
– Cuestionamiento constante sin entrar en
“parálisis”
– En la duda decido yo
11. Ejercicio
• Calendario de días laborables y no
laborables
• Se debe saber si una fecha particular es
laboral o no
• Se debe configurar con:
– día de semana no laboral (ej. Domingo)
– día de mes no laboral (ej. primero de enero)
– fecha particular no laboral (ej. 4 de abril de
2012)