Katas de código

Katas de código

Si alguna vez practicaste kárate o judo estarás familiarizado con el concepto de kata (型 ó 形), término japonés que significa literalmente “forma”, y que designa conjuntos de movimientos prefijados que se utilizan para aprender y practicar diversas técnicas, así como para mejorar la precisión, la fluidez o la velocidad con las que estas se ejecutan. El kata Heian Shodan del estilo Shotokan, por ejemplo, uno de los primeros que aprende un estudiante, permite practicar algunas de las técnicas más elementales del kárate, como giros, desplazamientos y golpes de puño.

El concepto de kata, no obstante, no es exclusivo de las artes marciales. Lo podemos encontrar también en otros ámbitos de la tradición japonesa, como son el teatro kabuki, la caligrafía, o la ceremonia del té.

Aplicado a la programación, el concepto de kata de código, acuñado por Dave Thomas, co-autor de “The Pragmatic Programmer”, del que os hablé en 10 libros míticos sobre programación que todo desarrollador debería leer, 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.

Las katas de código, de igual forma que las katas de las artes marciales, se pueden practicar sólos o por parejas, siguiendo las mejores tradiciones de las metodologías ágiles (pair programming), y pudiendo así beneficiarse de los intercambios de opiniones, y las sugerencias de la otra persona. Igualmente, así como en el kárate se utilizan los combates de práctica (kumité) como sistema fundamental de aprendizaje, también es interesante publicar nuestras soluciones y compararlas con las de otros programadores, embarcándonos en una sana competición por la búsqueda de la mejor solución posible.

Si estás interesado en el concepto de kata de código, no dudes en apuntarte en tu dojo de programación más cercano… ¡o crear uno tú mismo!

18 pensamientos en “Katas de código”

  1. Entiendo pues que es un concepto muy similar al Project Euler (http://projecteuler.net/) o Code Golf (http://codegolf.com/), ¿no?

    A mi personalmente Project Euler me ha gustado mucho para practicar un poco, pero es demasiado “matemático”. No estaría mal una recopilación de sitios web que ofrezcan estos ejercicios tan recomendables.

    ¡Saludos!

  2. Pingback: Todo un desproposito :: Ejercicios de programación :: March :: 2011

  3. Pues macho, yo hice Judo unos cuantos años y si se habla de katas osotogari, son llaves, etc etc, pero si es verdad que es mças típico de karate que de Judo.

    1. Yo también hice Judo. Las series de katas son para cinturón negro. Para el primer dan son tres series de tres movimientos. Creo que para el segundo dan son otras 2, pero ya no llegué tan lejos 🙂

  4. Pingback: 12 meses, 12 katas

  5. Pingback: 12 meses 12 katas « TeKNo dUKe's Blog

  6. Pingback: El lenguaje de los grandes programadores

  7. Pingback: Mama quiero ser programador « "No claudicar en actitud vencida"

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.