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ías estar cometiendo sin darte cuenta.
1. No expongas información sensible
A veces colocamos en nuestros archivos llaves privadas u otros datos que deberían ir en variables de entorno. Ya sea 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, y no quieres ser el responsable de esto.
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 ya empleas este tipo de variables, pero no está de más revisar que no ande algún var
por ahí accidentalmente.
Las «var», vienen a veces en algún código que copiaste de Stack Overflow, como las plagas y hongos que acompañan la tierra de hojas (mejor compra tierra limpia para tus plantitas).
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 puede reflejar falta de experiencia con las condicionales. 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 ver nuestros nuevos micro-cursos, seguro alguno te sirve.
Abrazo. Bliss.