Object Calisthenics: Tic Tac Toe Kata

Object Calisthenics (https://www.cs.helsinki.fi/u/luontola/tdd-2009/ext/ObjectCalisthenics.pdf) son un grupo de técnicas de programación, formalizadas como 9 reglas inventadas por Jeff Bay en su libro “The ThoughWorks Anthology”. La palabra Object está relacionada con la programación orientada a objetos y la palabra Calisthenics deriva del griego y significa ejercicios en un contexto deportivo.

Tratando de seguir estas reglas tanto como sea posible, cambiarás la forma en la que escribes código. Eso no significa que tengas que seguirlas todas todo el tiempo. El objetivo es encontrar el balance entre esas que te son útiles y te sientes a gusto con ellas.

Las reglas se focalizan en la mantenibilidad, legibilidad, facilidad de prueba y comprensión del código y son las siguientes:

1. Un solo nivel de indentación por método
2. No ELSE
3. Envuelve, agrupa los tipos primitivos y las string
4. Usa clases para encapsular las colecciones
5. Solo un punto por linea
6. No abrevies
7. Entidades/Clases pequeñas
8. No clases con más de dos propiedades/atributos
9. No getters ni setters

Trabajaremos en parejas utilizando la Tic Tac Toe Kata (https://gist.github.com/rubocoptero/25ea1e77cd04cbf7d92e8f0720ecde52) para poner en práctica dichas reglas, por lo que será necesario traer portátiles.

Horario:

– Abriremos las puertas a las 18:45 y empezaremos puntuales a las 19:00.
– Después, si os apetece, iremos a tomar algo para seguir charlando un rato.

Dinamizarán:

– Rubén Antón (https://twitter.com/rubocoptero)
– Enrique Barbeito (https://twitter.com/enriquebarbeito)

IMPORTANTE:

Para no perder mucho tiempo sería genial que vinierais con todo configurado para empezar a programar: tu editor/IDE, tu lenguaje favorito (el que quieras) y el entorno de ejecución de test unitarios funcionando.

¿No tienes entorno de test configurado? Os recomendamos este repositorio donde tenéis entornos de test para muchos lenguajes:

https://github.com/swkBerlin/kata-bootstraps

Si tienes dudas deja un comentario o entra a nuestro canal #alicante en el Slack de la comunidad de Software Craftsmanship (http://slack.softwarecraftsmanship.org/).