Sunday, April 8, 2012

Kata, Coding Dojo y TDD

En este nuevo post, trataremos algunos conceptos muy usados en metodologías ágiles, los cuales vengo desarrollando en un curso de Desarrollo para Entorno Web.

A continuación veremos los siguientes conceptos: Kata, Coding Dojo, TDD, Rspec.

Kata: 

Es una palabra japonesa que describe lo que en un inicio se consideró una serie, forma o secuencia de movimientos preestablecidos que se pueden practicar normalmente solo, pero también en parejas.

La Kata aplicado a principios de programación se traduce en pequeños ejercicios, de menos de 1 hora de duración, que nos ayudan a aprender y mejorar; especialmente, pequeños retos de programación diseñados por terceros, con un propósito específico en mente.

Coding Dojo:

Primero analizaremos la palabra "Dojo", la cual esta asociada a un lugar de meditación y/o practica de las artes marciales.

Asociado a programación se trata de una reunión de programadores para trabajar en un reto de programación durante unas horas, una tarde o incluso un día entero. En definitiva esta es una forma divertida de aprender técnicas nuevas con programadores que posiblemente en otras circunstancias no tengamos la oportunidad de trabajar.


TDD (Test Driven Development):

Desarrollo guiado por pruebas, o Test-driven development (TDD) es una práctica de programación que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Refactorización (Refactoring). Para escribir las pruebas generalmente se utilizan las pruebas unitarias (unit test en inglés). En Primer Lugar se escribe una prueba y se verifica que las pruebas fallen (Rojo), luego se implementa el código que haga que la prueba pase satisfactoriamente (Verde) y seguidamente se refactoriza el código escrito (Refactor). El propósito del desarrollo guiado por pruebas es lograr un código limpio que funcione.



Apreciaciones Personales:

A continuación les presento mis apreciaciones, las cuales daré tomando como base la experiencia y lo aprendido en el curso.

La Kata me parece realmente interesante desarrollar pruebas las cuales permiten poner a prueba tu capacidad e ingenio de forma divertida y mas aún usando el pair programming, ya que permite desarrollar y escuchar a tu commpañero y tomarte un tiempo para reflexionar y bien se sabe que 2 cabezas piensan mejor que una.
Coding Dojo esta totalmente asociado a la Kata, ya que se trata de reunión en la cual se resuelven pruebas de programación las cuales son las Katas, esto es particularmente interesante, ya que se trata de un grupo de personas enfocadas en resolver pruebas de programación que es principalmente lo que  nos ineteresa.
TDD resulta mucho mas interesante debido a que no permite realizar código inducirlo al error, corregirlo, luego refactorizar y luego aumentar la complejidad, es decir, permite realizar y mejorar un código de forma progresiva.

Ruby es un lenguaje de programación orientado a XP que busca simplificar las lineas de código realizadas y es una potente herramienta para el desarrollo de websites.


Rspec permite ejecutar las pruebas desarrolladas siguiendo TDD, lo cual es de mucha utitlidad.

Bibliografía

http://es.wikipedia.org/wiki/Kata
http://mundogeek.net/archivos/2011/03/02/katas-de-codigo/
http://www.genbetadev.com/metodologias-de-programacion/que-es-un-coding-dojo
http://es.wikipedia.org/wiki/Desarrollo_guiado_por_pruebas


No comments: