TDD es un acrónimo muy usado en el mundo de las metodologías de software donde se busca enfatizar la necesidad de realizar las pruebas unitarias antes de programar cualquier algoritmo.
Durante nuestra serie de Algoritmos Mantenibles, mostramos cómo utilizar las pruebas unitarias y aplicar los distintos refactorings.
En esta serie de videos, vamos a programar un algoritmo que retorna una estructura de datos. Iniciaremos desde la lectura de la especificación y sus ejemplos. Luego, iré paso a paso programando una prueba unitaria, luego haciendo el código necesario y finalmente aplicando refactorings para lograr un diseño mantenible.
TDD nos plantea trabajar en este ciclo:
- Programe una prueba unitaria que falle.
- Programe el código mínimo necesario para lograr una prueba exitosa.
- Refactoring (elimine duplicación).
Documentos y código fuente
Este es el repositorio: https://github.com/oscarcenteno/inversiones. Los contenidos en general son:
- Explicación: Explicacion del algoritmo y sus fórmulas.docx
- Ejemplos: Ejemplos.xlsx
- Código fuente: Hay una carpeta numerada para cada paso.
Programación en vivo
En estos videos, quiero compartir un ejemplo realista de la aplicación de esta práctica.
Explicación inicial y programación como un procedimiento
Refactoring a Funciones
Refactoring a Objetos
Por investigar
- ¿Cuáles son los beneficios que ofrece una programación estilo TDD?
- ¿Hay alguna contra indicación a usarla?
- ¿Cuáles herramientas ayudan a tener una programación de este estilo?
- ¿Hay alguna posición en contra del uso de esta práctica?