Acrónimos que todos dev-en conocer

Acrónimos que todos dev-en conocer

¿Quieres saber los secretos detrás de los acrónimos más importantes en programación? En este artículo explicaremos 5 que son realmente interesantes, ellos son los conceptos de:

  • DRY.
  • WET.
  • KISS.
  • YAGNI.
  • NIH.

¿Estás listo/a para descubrir cómo estos acrónimos pueden mejorar tu código y hacerte más eficiente? ¡Empecemos!

“La duplicación es mucho más barata que una mala abstracción”. Sandi Metz en su charla en la RailsConf 2014.

🌵 DRY

Probablemente, el acrónimo más repetido en el mundo de la programación es DRY, cuyas siglas significan Don’t Repeat Yourself o No te repitas en español. Este principio desalienta la repetición de código y quizás es uno de los primeros que has escuchado en tu camino como dev.

Pero si bien es una buena idea a tener en consideración, ¡no dejes que te confunda!, intentar todo el tiempo no repetirse puede generar dolores de cabeza al volver al código tiempo después, para ti mismo o para cualquier otro que quiera leer tu código.

💧 WET


En ocasiones, dos códigos pueden parecer similares, pero tener diferencias sutiles y es entonces cuando debemos pensar detenidamente si no es mejor dejarlos separados. Acompañado de este principio se puede encontrar WET, su contraparte que significa Write Everything Twice (Escribe todo dos veces, en español).

La idea que me gustaría que te lleves en este punto es que seguir la filosofía DRY tiene beneficios, por ejemplo en términos de mantenibilidad (los problemas que surjan de un código repetido se vuelven más difíciles de solucionar y, peor aún, cuando se soluciona el problema en una parte puede que olvides solucionarlo en otra).

Sin embargo, también puede resultar un arma de doble filo, pues hacer una mala abstracción es peor que no hacer ninguna. No te apures en hacerla, sé pragmático/a y no tomes este lema como si estuviese escrito en piedra.

💋 KISS


Seguimos en nuestra recorrida con otro muy famoso acrónimo, KISS: Keep It Simple, Stupid (o  “Mantenlo simple, estúpido” en español). Este principio se utiliza para reforzar la idea de desarrollar siempre con la simplicidad en mente. Un código simple te permite añadir la complejidad más adelante, cuando realmente la necesidad sea clara.

Como programadores, muchas veces debemos lidiar con la incertidumbre de qué necesitaremos en el futuro y esto frecuentemente nos lleva a intentar adivinarlo, algo que a las personas se nos da bastante mal.

Medición de la calidad de un código: WTFs por minuto.

🙅 YAGNI


Mi propuesta es que no hagas abstracciones tempranas porque crees que quizás lo vas a necesitar luego, pues es muy fácil terminar añadiendo complejidad. Esta última oración nos lleva al siguiente acrónimo que es YAGNI, que significa You Ain’t Gonna Need It (o en español “No vas a necesitarlo”).

La forma más sencilla de simplificar el código es, lisa y llanamente, evitar escribirlo. La mejor manera de mantener flexible tu código es reducirlo, concretamente me ha servido el preguntarme qué es absolutamente necesario y omitir el resto.

🏷️  NIH

Para terminar, vamos a reflexionar sobre un acrónimo un tanto más desconocido, NIH, cuyas siglas vienen de Not Invented Here (“No inventado aquí” en español). A éste se lo asocia con un síndrome y puede definirse como una tendencia a evitar las cosas que no han sido creadas por nosotros. En general, el orgullo nos juega una mala pasada y creemos que podemos resolver un problema de mejor manera de lo que ya lo hacen soluciones existentes.

Se asimila a otro concepto bastante popular, el de “no reinventar la rueda” y tenerlo presente te ahorrará disgustos, créeme. Pero ¡cuidado!, tampoco se trata de tomar por buena cualquier pieza de código que te encuentres por allí sin un estudio previo. Mantén una mentalidad de pros y contras de hacerlo de una u otra forma.

Cuando te encuentres en una disyuntiva entre desarrollar algo desde cero o utilizar una solución preexistente, presta especial atención a la información que tienes a tu alcance para tomar la decisión y no te dejes llevar por tus emociones haciendo que el síndrome del “no inventado aquí” tome el control.

Espero que esta guía te ayude a entender los acrónimos y, sobre todo, lo que promueven para un mejor desempeño como devs.

¡Hasta la próxima!

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.