Como es costumbre voy a empezar esta blog con un video, siempre que veo un nuevo tema me gusta encontrar uno para poder tener una idea de que es lo que se refiere el tema, con que se puede comparar o en que idea me puedo centrar, bueno aquí va:
El nombre de este paradigma lo dice todo, Test driven development, hacer que todo tu desarrollo sea movido a base de pruebas, es decir, cada vez que vayas a generar una sección de código debe pasar por un sistema de pruebas, si se pasan toda esta serie de pruebas, el código se adjunta al proyecto completo y si no es así se debe continuar con una revisión del código.
Lo que me hace recordar mucho este tema es a la platica que nos dió uno de los invitados de la clase (wink, wink), el nos platicó acerca de una variable de este paradigma, no recuerdo el nombre al 100% pero recuerdo que se refería a que en cada commit y cada cambio que se hiciera en tu código (cada vez que lo guardes), una serie de pruebas correrían, si se pasan todo seguiría a la normalidad pero si no, todas los cambios se borran, me parece una forma un poco loca de desarrollar pero a la vez pienso que podría evitar muchos problemas estilo domino, por ejemplo si cometes un error en una parte del código y no te das cuenta hasta que corres pruebas después de 30 commits, vas a tener que regresar en todo el código escrito en esos 30 commits para poder darte cuenta en que fue que la regaste.
Ventajas
Desde mi punto de vista las ventajas del TDD son que puedes ir avanzando con firmeza sin tener que preocuparte por errores en el camino, hace que el desarrollo sea más productivo y eficaz, en vez de hacer grandes párrafos de código los cuales son muy propensos a que la cagues en un punto y ni siquiera te des cuenta el TDD te ofrece la capacidad de darte cuenta de esos errores al momento y que los puedas resolver en ese instante.
Desventajas
Sinceramente depende mucho de el tipo de proyecto y el tipo de equipo en el que trabajes, desde mi punto de vista el TDD es uno de los mejores paradigmas de desarrollo pero pues evidentemente todo en esta vida tiene un costo y en el caso del TDD, es generar todas las pruebas necesarias que le aplicaras a tu ya generado código, que por una parte es una buena inversión a futuro pero a la vez es una inversión de tiempo que debes de tener en cuenta en el momento de gestionar tus tiempos e incluirlo en los horarios del proyecto.
Encontré esta repo en github que te ayuda a aprender TDD usando HTML y JavaScript, así que es hora de hacerle fork y probar el TDD más a fondo!
En resumen TDD = increible herramienta para que tu código sea algo así:
y no sea algo así:
Pueden ver mi trabajo en grupoargon.co



















