Galletas Espantosas y Definiciones Ejecutables

Guillermo Garza
codecrafters
Published in
2 min readDec 16, 2016

Sólo basta Googlear “nailed it cookies” para constatar la ineptitud comestible de los habitantes en Internet.

Aquí un perfecto ejemplo, además de autológico-homológic0, las monstruosas galletas del monstruo de las galletas:

Cookie Monster Monster Cookies. Nailed it.

Para no demorar la conexión con el desarrollo de software, aquí la receta de la analogía:

  • La bandeja es tu framework. Si está hecho en PHP, reemplazar mentalmente por una lámina amorfa de “yonque”.
  • Los ingredientes (harina, leche, azúcar, etc.). son tus herramientas (editor, plugins, VCS, etc.). Si usas Vim, usar crack en vez de azúcar.
  • El horno es el compilador-interprete. Duh.
  • Los quequitos deformes, mugrientos y ponzoñosos son tus apps.
  • La diarrea post-consumo es el eterno retortijón que produce mantenerlas.

Necesitas un molde, y uno bastante sofisticado. ¿Cuál es el molde en esta comparación idiota entre pan y código? Las opciones son:

A. Documentación e Ingeniería de Requerimientos

B. Diagramas UML y herramientas CASE

C. Visiones inducidas por mezcalina

D. Viene en el título: Definiciones Ejecutables.

La “A” solamente es correcta si estás en la escuela o haces software médico-espacial. La “B” es correcta si trabajas en una consultora de Cobol estilo Dilbert. La “C” es claramente un chascarrillo, pero es mejor que las dos anteriores.

La respuesta es “D” porque vas a escribir tu código varias veces, lo vas a reestructurar doscientos, vas a cambiar de framework, de lenguaje, de plataforma, de todo. Si trabajas en Javascript, lo anterior ocurre 100000x veces más rápido. Son los sadomasoquistas de este gremio. Las 50 sombras de JS.

Lo que cambia a una velocidad mucho menor es la especificación. Los delineamientos del sistema. El molde.

Quieres la misma galleta en forma de Blue Demon, pero ahora que sea de salvado y harina de coco porque “jipsters”. Se te fue el desarrollador que sabía cómo darle la forma, hasta las costuras de la máscara y todo el cotorreo. Lo único que te queda es tomarte ese shot de Pepto Bismol porque ya sientes el cólico del mantenimiento.

¡Sorpresa! Antes de que tu dev se fuera dejó un patrón detallado en el que puedes meter el nuevo diseño y te va diciendo qué tan cercano está del ideal, en un porcentaje. Algo así como el juego de Face Lift en Mario Party:

Esto es lo que hace Cucumber, Specflow, Jasmin o cualquier novedad que entienda Gherkin, que sea ejecutable contra base de código y que sea tan independiente como sea posible de la implementación.

Voilá. Tu producción de repostería es ahora consistente, apetecible y digna de Pinterest.

--

--

Guillermo Garza
codecrafters

Mental Promenades, Digital Schizophrenia, Software Farming, DnB Fascism, Closeted Writing, Multimedia Voyeurism, Mediocre Cooking. [Random Word Permutations]+