Cuidado con la abstracción

Un año después de empezar a trabajar, le cogí el trucillo a esto de hacer abstracciones.

Yo solía hacer mis movidas en el backend y ahí si la cagaba, pues como se enteraban dos o tres más que también les gustaba el rollo de las abstracciones.

El caso es que un día quise expandir el virus de las abstracciones al frontend.

Y así lo hice.

La idea concretamente era poder hacer un proceso de varios pasos/pantallas solo que podías decidir en que punto empiezas y si querías hacer algo especial al acabar el proceso.

Obviamente conseguí que funcionara.

Pasaron varias cosas, te voy a mensionar las más críticas.

La primera es que el código era una mierda. No había forma por donde entenderlo. Ya te digo, nada de lo que sentirme orgulloso.

La segundo, intenté abstraer tanto el concepto que añadir nuevas condiciones o cambiar las que estaban era muy complicado, por no dicer casi imposible. Era un código rígido.

Y la tercera, que aún me persigue, le dí argumentos suficientes a uno del frontend, que no siempre le ha gustado hacer software de calidad, para desmontarme mi chiringuito de calidad y cualquier intento de llevarlo al frontend.

Te pongo un ejemplo.

Si yo decía: “podemos hacer esta nueva funcionalidad con tal estructura (con sentido).

Entonces el decía: “si…claro, para que nos quede como aquella abstracción. Eso no funciona el en frontend”

Yo tonto en esos momentos, nunca supe que contestarle. Hoy le diría, con educación: “ciertamente, en su momento era más tonto de lo que soy ahora y no supe hacerlo. Ahora sé más cosas y lo haría mil veces mejor.”

La moraleja de todo esto y lo que me gustaría que aprendieras es que la abstracción es buena y necesaria. Y como todo gran poder, conlleva una gran responsabilidad.

Por tanto, recuerda esto siempre: una mala abstracción es peor que no tener ninguna.

Te lo repito.

Una mala abstracción es peor que no tener ninguna.

PD1: un gran poder conlleva una gran responsabilidad.

PD2: una mala abstracción es peor que no tener ninguna.

PD3: este patrón se repite muchas veces.


Soy Josué Alcántara y cada día envio un mail con una idea para escribir software de calidad. ¿A quién se la envío? A mi lista de suscriptores. Día que estás fuera, idea que te pierdes. Así de fácil.