lunes, enero 21, 2008

Video Cast 4, Refactoring y TDD

Este 2008 ha comenzado con viajes de trabajo y poco tiempo en casa, por tal motivo no había liberado ningún nuevo Video Cast.

Este Video Cast es el primero de una serie, en la cual estaremos trabajando con un pequeño proyecto, en donde implementaremos algunas técnicas relacionadas con metodologias ágiles y otra técnicas para simplificar la dependencia entre clases.

Los puntos que se tocarían en esta serie de Video Casts serian:
  • Refactoring
  • Test Driven Development (TDD)
  • Mocking
  • Inyección de dependencias con contenedores (IoC)

Este primer Video Cast trata sobre refactoring y una breve introducción de TDD.

Refactoring es una técnica en la cual se toma el código actual de una clase o un grupo de clases y se modifica su implementación interna ya sea para mejorar su funcionamiento o reorganizar el código, pero siempre con el objetivo que el comportamiento de las clases modificadas sea el mismo que antes de la modificación, es decir, que se busca no ¨romper¨ su funcionalidad.

TDD es una técnica ágil en donde antes de escribir la implementación de una clase de acuerdo a los requerimientos que tenemos, se escriben una serie de pruebas sobre dichas clases para asegurarnos que la clase va a funcionar de acuerdo a lo que se especifico en las pruebas.

Esto tiene 2 implicaciones importantes, la primera es que al escribir primero la prueba, TDD nos ayuda a definir el diseño de nuestra clases antes de que las implementemos, la segunda implicación es que al implementar nuestras clases las pruebas nos ayudan a verificar si la clase cumple con las expectativas y/o requerimientos de nuestras especificaciones y nuestras pruebas.

Las herramientas y librerías necesarias u opcionales se listan en este post

Por cierto este Video Cast lo grabé como a la 1:00am, ya estaba algo dormido.



El video con mejor calidad se puede descargar de aquí.

El código para este video cast se encuentra aquí (V4).

Creative Commons License
This work is licensed under a
Creative Commons Attribution-Noncommercial-Share Alike 2.5 Mexico License.

No hay comentarios.: