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!

Comentarios
  1. Katero :)

    Hola Mundo Geek 😉

    Justo ahora que sacas ese tema hace unos meses que surgió la iniciativa #12meses12katas a través de este post http://www.sharpbites.com/2011/01/new-year-resolutions.html y partiendo de ahí http://www.12meses12katas.com por si quieres echarle un vistazo y recomendarlo en el blog 🙂 Las katas son una muy buena manera de aprender.

    Un saludo

    Responder

  2. Errepunto

    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!

    Responder

    • Sí, todos los ejercicios de Project Euler podrían considerarse katas.

      Responder

    • Oh, gracias!, no conocía el project Euler.
      Ya me he apuntado 😀

      Responder

  3. […] este artículo del muy recomendable blog “Mundo geek”, y me he acordado de que tenía guardadas en […]

    Responder

  4. Errepunto

    Mi memoria es lamentable, ya no me acordaba que tenía en mis favoritos guardadas un montón de páginas. Pongo en enlace a mi blog (donde acabo de pegarlas) porque es bastante largo, pero creo que a alguno le interesará:

    http://desproposito.blogsome.com/2011/03/02/ejercicios-de-programacion/

    ¡Perdón por el autobombo!

    Responder

    • Para nada tienes que pedir perdón. Seguro que a más de uno le es de utilidad 🙂

      Responder

  5. hugo

    TopCoder?
    uva.onlinejudge.org?
    SPOJ?

    Responder

  6. Ricardo

    http://www.sql-ex.ru/

    Tiene excelentes katas (o mini katas) para practicar SQL 😉

    Responder

  7. Scorp-Zero

    Yo practicaba Judo y no tenía idea de esto O.O

    Responder

  8. 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.

    Responder

    • Errepunto

      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 🙂

      Responder

  9. […] raíz del artículo Katas de código, katero nos recomienda la iniciativa 12 meses, 12 katas. Ya no tienes excusa para no practicar, […]

    Responder

  10. […] esta entrada en MundoGeek en unos de los comentarios un usuario mencionaba esta propuesta. Como me pareció tan […]

    Responder

  11. Hace años que no escuchaba de las Kata

    Responder

  12. […] desde hace ya 8 años. A parte de proporcionar una gran selección de problemas con los que practicar nuestras habilidades, sus estadísticas también pueden servirnos para comprobar cuáles son los lenguajes de […]

    Responder

  13. […] de programación” Esto es resolver un problema dado con técnicas de programación.  Aquí lo explican […]

    Responder

Deja un comentario