Programa en Javascript como una persona Pro
Tags: javascript, webdev, programming, cleancode
Published: 2023-03-14 07:16:07

[English version](https://dev.to/miasalazar/program-in-javascript-like-a-pro-m83)

El otro día me estaba planteando cómo podía aprender a hacer mejor el código, y a escribirlo de forma que sea más reutilizable y limpio. Estuve viendo muchos vídeos y leyendo diversos artículos y al final pensé, ¿y si junto todo lo que he ido aprendiendo en un artículo?... Y aquí estamos:

- Evita variables globales: Las variables globales son mala idea. Hay muchas probabilidades de que las acabes sobrescribiendo por accidente; le cuesta más a Javascript encontrarlas con respecto a las locales, además de [otros motivos más que podéis ver en este hilo](https://stackoverflow.com/questions/10525582/w).
- Comenta: El código debería explicarse por sí solo… Pero añadir unos comentarios no hace daño a nadie.
![Ejemplo de un comentario](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ysgnv0r632bv8r0ukjg9.PNG)
- Evita acceder al DOM: Es muy costoso, así que evítalo en la medida de lo posible.
- No te fíes: Los validadores son buenos amigos y evitan errores cuando por algún motivo algo falla.
- Las librerías son nuestras amigas: Bien usadas, nos ayudan a desarrollar más rápido y con menos código. 
- Diferencia lenguaje y framework: Las librerías y frameworks son muy útiles, pero es necesario ser capaz de distinguir uno de otros y conocer qué se puede hacer con cada uno.
- Usa herramientas que unifiquen tu estilo de código como [eslint](https://eslint.org/).

![Ejemplo de warning de eslint](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5vs7yhvt3kwl7d71oztn.PNG)
- Modulariza: Crea funciones que hagan una sola cosa.
- Evita anidar demasiado: Generar código complejo hace muy difícil mantenerlo y entenderlo.
- Cuida tus bucles: Intenta hacer cuantos menos bucles y más optimizados, mejor. En lugar de un for o un while puedes usar find, reducer, map o filter cuando sea conveniente. Son mejores.
- Mantente al día: Las nuevas especificaciones de Javascript tienen funcionalidades como [spread operator](ttps://dev.to/alextomas80/el-operador-spread-en-java) o el [rest operator](https://developer.mozilla.org/es/docs/Web/Ja) que facilitan programar.
- Usa let y const: Ambas son más óptimas y evitan errores de sobrescritura y scope.
- Testea: Ayuda a muchos niveles.
- Ten curiosidad: Muchas veces no nos preguntamos cómo funciona algo hasta que deja de hacerlo. Es bueno investigar el código y entenderlo incluso cuando sí funciona.

![Bob esponja con "en mi local funciona"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/icxxr5234uqym57phvdt.jpg)

- Hay mundo más allá del console.log: Sin duda el console.log es el preferido por todos, no obstante, hay muchos otros que podemos usar y que serán más útiles.
- Nombra bien a tus variables: Tu persona del futuro te agradecerá cuando tenga que entender lo que hiciste. Y también tus colegas.
- Sé constante en el naming: Si decides camelCase, kebab-case, o cualquier otro… continúa con él. Estandarizar los nombres ayuda a encontrar mejor las cosas y a que tu código sea más limpio.
- Evita la duplicidad: Si tienes código duplicado es que algo estás haciéndolo mal.

![Meme de los 3 spidermans señalándose unos a otros](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ngl2l434owuyginpvb5f.PNG)
- Usa el modo estricto: Javascript es un lenguaje que te permite muchas cosas sin quejarse. Esto es útil a la hora de lograr que algo funcione, pero puede desembocar en comportamientos extraños.
![_use strict](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zppbxwx44ux3ixrznig8.PNG)
- Especifica valores por defecto: Esto te salvará de muchos errores por descuidos, y te permitirá indicar que una propiedad o parámetro es opcional.
- Usa template literals: Son mucho más cómodos a la hora de manejar strings con variables.