Clean Code y TDD con CodeKata ABIERTA

Autor
Publicado por
sergio

Las katas, en artes marciales, son una serie de movimientos predefinidos, que se entrenan y aprenden a base de repetirlos, y que sirven como método de práctica para entender las características del tipo de arte marcial del que se trate. Esta misma idea se llevó al concepto de la programación: A través de una serie de ejercicios preestablecidos y a base de práctica y repetición, permiten al que los practica aprender a programar en uno o varios lenguajes.

¿Cómo se plantean las katas?

Se proponen una serie de ejercicios, de diferente dificultad (baja, media, alta/muy alta). Que cada uno se atreva con lo que quiera. El ejercicio consiste en resolver el problema pero cumpliendo las siguientes reglas:

  • Las sesiones de «entrenamiento» deben durar entre 30 y 60 minutos, sin interrupciones. Debes estar tranquilo, así que aprovecha para apagar el móvil y alejarte durante un momento del Telegram y demás distracciones.
  • Como se trata de aprender a base de repetir, cada intento de resolver el problema se guarda. Es decir, si resuelves el problema, guardas esa versión y vuelves a empezar, esta vez intentando solucionar el problema de otra manera. Puedes (y debes) mirar el código que has hecho antes.
  • El objetivo no es encontrar la respuesta correcta, sino aprender a programar. Por eso mismo el lenguaje que escojas no es lo importante, sino la forma de programar. Usa el lenguaje con el que te sientas más cómodo, o aquel que querías aprender y no encontrabas cómo empezar a utilizarlo.

¿Cómo se organiza la actividad?

Una vez haya un mínimo de personas se enviarán los problemas a resolver. Estos ejercicios los resolvéis cuando queráis. El día en que quedemos, se irán presentando las soluciones que habéis tomado. El objetivo de esta parte es discutir la resolución del problema, de tal manera que los que tengan menos experiencia programando puedan ver como resuelven los que llevan más. Y los «veteranos», que posiblemente ya tienen una manera cerrada de pensar, puedan ver nuevas perspectivas de atacar problemas por parte de los más noveles.

Plazas ilimitadas

Aula de Software Libre

TBA
TBA
TBA