tdd on the rocks
DESCRIPTION
Presentacion usada durante el coding dojo de TDD on the Rock en Agiles@BsAsTRANSCRIPT
agile software development & services
¡TDD on the Rocks!
TDD
¡Vamos a hacer cumplir el proceso!
TDD - Test
• Pasos a seguir:– Caso más simple
“positivo”– Caso negativo– Caso concreto distinto– Más de un caso
concreto– Casos bordes– Pensar -:)
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
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
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”
Metodología
• Características:– Pair Programming– Cada pair con su
máquina, su lenguaje e IDE
– Todos deben seguir el ejercicio, “todos deben hacer”
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
Metodología
• Comportamiento:– En conjunto decidimos qué testear,
cómo implementar, etc– Cuestionamiento constante sin entrar en
“parálisis”– En la duda decido yo
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)