Saltar al contenido principal

Los espíritus de la complejidad

En el basto mundo de la programación existe un enemigo que muchas veces es invisible, hablo de los espíritus de la complejidad.

Digo que son invisibles porque no te das cuenta de su presencia hasta que es demasiado tarde. Un día eres feliz con tu código y al cabo de unos días empieza a ser difícil de mantener, los espíritus están empezando a aparecer.

Tienes la certeza de que la complejidad se cierne sobre el código, tienes miedo, pero no sabes cómo evitarlo, ya es demasiado tarde, toca refactorizar o te acabará comiendo.

No te puedes librar totalmente del espíritu de la complejidad. Lo que se puede hacer es encantamientos protectores (refactors) que muevan al espíritu y retrase sus apariciones.

La aparición de este tipo de espíritus es un mal augurio, normalmente implica que futuras manifestaciones cada vez más frecuentes.

Técnicas para contener a los espíritus

Imagen del coche de los cazafantasmas

Sacrificios. Hay que sacrificar abstracciones y mejoras de rendimiento prematuras. También hay que sacrificar cierta funcionalidad, sobre todo si aporta poco valor al usuario

Divide y vencerás. Separa la lógica. Una de las armas más poderosas es la simplicidad, crea funciones pequeñas, manejables, entendibles y reutilizables. De esta manera, el espíritu de la complejidad encontrará menos lugares donde esconderse.

Cuidado con los talismanes. Ciertas abstracciones, herramientas o lenguajes pueden ayudar con los espíritus, pero cuidado, a menudo no son lo que parecen y pueden desencadenar el efecto contrario al deseado No implementes cosas por si acaso 🚧, Evita la optimización temprana y Modulariza más tarde 🚧

Evita ir en solitario. Los lugares malditos están llenos de estos espíritus. Por ejemplo no vayas sin acompañante al sótano de una mansión embrujada (código legacy). Necesitas que alguien te guíe por las trampas y pasadizos del lugar.