3 Malas prácticas en JavaScript que debes evitar

Play this article

Hablamos todo el tiempo de las buenas prácticas y estilos de código, pero pocas veces hablamos de las malas prácticas en las que inconscientemente caemos muy seguido.

Por ello, quiero compartirte 3 malas prácticas en JavaScript que podría ser que no te estás dando cuenta que tienes.

#1 No expongas información sensible

A veces colocamos publicKeys u otras variables que deberían ir en una de entorno, en el scope global de nuestro archivo, de nuevo, por pereza o por seguir trabajando, pero a veces se nos van a producción. Esto es muy peligroso y delicado, más aún si estás trabajando para un cliente, ya que esto puede resultar en robo de información grave. Tomate el tiempo de siempre colocar las variables de entorno, no utilices datos sensibles en variables globales, ni por comodidad. Esto te va a separar de los principiantes y te coloca como todo un profesional. Siempre usa tu archivo .env y nunca lo subas a Github.

#2 Evitar a toda costa el uso de "var"

Sabemos que const y let resuelven problemas de "scope" además de agregarnos seguridad en la definición de nuestras constantes y hasta nos dan la seguridad de no sobreescribir variables efímeras como las que declaramos para un for. En tu código seguro que usas estas variables que se agregaron en ECMAScript2015, pero no está de más checar que no andes usando var por ahí por accidente, pereza o a veces hasta de algún código que copiaste de StackOverflow, luego se nos pasa. 😛

#3 Define condicionales de forma correcta.

Recién he leído mucho código con este tipo de validaciones:

if(userId != undefined && userId != null && userId != ''){
    // some cool code
}

Esto no es necesario, crea confusión, es difícil de leer y hasta puede fallar. 🫠 Esto refleja tu falta de experiencia con las condicionales. Qué se resuelve a falso y qué no. La negación es la forma más simple de resolver esto.

if(!userId){
    //some cool code
}

A veces también cometemos este error con las llaves de un objeto:

// esto rompería el código si title o courses[0] no existieran
if(user.courses[0].title){
    // some cool code
}

// a veces se hace el chequeo llave por llave
if(user.courses && user.courses[0] && user.courses[0].title){
    // some cool code
}

// Pero es mucho mejor usar el "conditional chaining":
const title = user.courses?.[0]?.title || 'Sin titulo'

¿Conocías esta sintaxis?, siempre es bueno mantenerse actualizado ;)

Listo, no olvides revisar nuestros nuevos micro-cursos, seguro alguno te sirve.

Abrazo. Bliss.

Did you find this article valuable?

Support Héctor BlisS by becoming a sponsor. Any amount is appreciated!