¿Quieres recibir notificaciones de nuestro sitio web?

¿Qué es el Código Espagueti?

Te explicamos de manera sencilla que se refieren los programadores cuando hablan de un Spaghetti Code.

Desde hace algún tiempo mucha gente me pregunta por qué el sitio donde trabajo se llama Código Espagueti. Las razones simbólicas son muchas, pero concretamente se debe a un viejo código de programación.

También te recomendamos: ¿Qué es el Internet de las Cosas y cómo funciona?

El código espagueti es un término “despectivo” que se utiliza para los programas de computación que tienen una estructura de control de flujo compleja y cuando vemos este código se parece mucho a un plato de espagueti, como si fuera un montón de hilos enredados.

Es posible que cuando veas un código este tipo, en tu cabeza se traduzca así:

o esto:

En realidad se trata de un estilo de programación que algunos consideran anacrónico (se remonta a los años 60) ya que utiliza lenguajes básicos, donde el flujo se controlaba mediante sentencias de control muy primitivas como GOTO y números lineales.

Ahora bien, el GOTO es una instrucción que pertenece a los primeros lenguajes de programación como el famoso BASIC y su propósito es transferir el control a un punto determinado del código donde debe continuar la ejecución.

Los números lineales, por su parte, se enfocan en optimizar una función objetivo, mediante una serie de restricciones expresadas mediante un sistema de ecuaciones o inecuaciones igualmente lineales.

Por otro lado, algunos expertos señalan que, como término, es común decir que se refiere a GOTO, pero como concepto se puede escribir en cualquier lenguaje de programación cada vez que se llega a través de malas abstracciones, llamadas a funciones o métodos que no proporcionan un significado claro de lo que está sucediendo.

(Foto: Giacomo Freddi)

Muchos programadores consideran que escribir código espagueti es un verdadero desastre, pero lo cierto es que no tiene nada de malo, si esto permite a la persona entender la compresnión del problema, lo inadecuado sería considerar que ese código está terminado. Lo más importante es utilizar la refactorización, es decir iterar sobre varios repasos del código.

Podemos decir que lo importante es ir de más a menos, en un principio el código espagueti puede ser la base enredada de lo que se quiere programar, pero al momento de refactorizar, se tendrá que ser cada vez más específico.