matiastripode / kata02-calendar-of-holidays

Esta kata esta inspirada por la presentacion de Hernan Wilkinson en [Charlas en Línea: Esencia y Fundamentos de TDD] https://www.youtube.com/watch?v=4t0ZxUXnwN4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

kata02-calendar-of-holidays

Esta kata esta inspirada por la presentacion de Hernan Wilkinson en Charlas en Línea: Esencia y Fundamentos de TDD. La idea de este repo es inspirar a los developers que no hayan intentando TDD y quieran ver de que se trata. Aqui no pretendo presentar un curso detallado de TDD, para ello seria importante que se dirigan a las Referencias mas abajo.

  1. Como aprovechar y aprender de los videos donde se resuelven Katas utilizando TDD

1.1. La clave para aprovechar los videos donde se explica TDD es pausarlos al momento que se explica el problema o kata que se va a desarrollar y uno mismo intentar resolverlo.

1.2. Entonces con el video pausado, uno debera intentar resolver la kata siguiendo los pasos de TDD (he intentar seguirlos al pie de la letra). Recordar que TDD es una disciplina que se construye con la practica sostenida en el tiempo.

  1. Pasos de TDD (Red #f03c15, Green #c5f015, Refactor).

2.1. Escribe un test (el mas simple posible). No te preocupes por el nombre al principio (la idea es no caer en analisis paralisis). Utiliza una nomenclatura incremental como test01_YYY, test02_YYYY, etc. El test debe fallar. (Red #f03c15). Una vez que ganes conocimiento de lo que estas desarrollando podras poner un mejor nombre, esto se explica mejor en el video linkeado mas arriba.

NOTA: Recuerda que esos nombre temporales deben ser cambiados a algo mas adecuado una vez hayas:

  • Aprendido el dominio del problema
  • Aprendido el 'que' de los tests

NOTA: No deberias crear un pull requests con tests conteniendo esos nombres temporales

2.2. Escribe la minima cantidad de codigo fuente que haga que la prueba pase.(Green #c5f015)

2.3. Se debe mejorar el código. Siempre hacer refactoring con todos los tests en Green #c5f015. (Refactoring)

  1. Corolarios

3.1 Es nuestro deber como managers/lideres explicar a los product owners la importancia de hacer TDD (al principio puede parecer perdida de tiempo, pero a largo termino paga, y paga muy bien)

3.2 Es nuestro deber como managers/lideres ayudar a nuestros developers a capacitarse en TDD

3.3 Es tu deber como developer tomar conciencia y ser profesional con tu trabajo. Recuerda un buen developer, tambien es un buen tester, un developer que no testea su codigo esta siendo negligente.

3.4. TDD es una gran herramienta para los cambios de contextos (context switching), que son tan nocivos para los desarrollares (TDD al rescate !!)

  1. Musica para ayudarte a que te mantengas en la zona de foco radio de x-team

Referencias

Cursos en ingles (pagos)

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

About

Esta kata esta inspirada por la presentacion de Hernan Wilkinson en [Charlas en Línea: Esencia y Fundamentos de TDD] https://www.youtube.com/watch?v=4t0ZxUXnwN4

License:MIT License


Languages

Language:Python 100.0%