• #Aplicaciones
  • #Bases de datos
  • #Dispositivos
  • #Hardware
  • #Inversión
  • #Marketing
  • #Programacion
  • #Sistemas
  • Malas Prácticas en JavaScript: Cosas que Debes Evitar

    TutorialesJavascriptProgramacion

    JavaScript es un lenguaje que cada día es más popular, utilizado de desarrollo de aplicaciones web tanto del lado del cliente como del lado del servidor gracias a Node.js. Sin embargo, son muchos los programadores que se pasan al nuevo lenguaje de moda, por lo que las malas prácticas son muy habituales.

    Este artículo podría ser bastante largo, pero nos vamos a limitar a ciertas pequeñas cosas que deberías evitar.

    Declaración de variables

    Las constantes y las variables deberían estar declaradas al principio de las funciones. En el caso de las variables, deberían estar al principio del documento. Declararlas en cualquier parte y de forma aleatoria es un error, ya que expones al código a sufrir los indeseables efectos del hoisting en JavaScript, pudiendo obtener errores inesperados. Además, es una buena práctica declarar primero las constantes y luego las variables.

    Creación de Arrays

    Cuando creas arrays, siempre es mejor utilizar la sintaxis [] en lugar de usar la función new Array(). No es que sea una mala práctica usar el primer método, pero siempre es mejor usar el método más corto y estandarizado.

    Creación de Objetos

    En general, deberías evitar el uso de la función new Object() cuando crees objetos. El motivo es que también puedes usar la sintaxis literal {}, que es más corta y práctica.  El motivo es el mismo que el del caso de la creación de objetos.

    Arrays Asociativos

    Si tu intención es la de crear arrays asociativos, no uses nunca el objeto Array, ya que no ha sido pensado para este tipo de arrays. En su lugar utiliza Object. Aunque podrías usar el objeto Array, la funcionalidad que lo hace posible está realmente en el prototipo Object.

    Evita Bucles Innecesarios

    Siempre que puedas debes evitar los bucles como while o for y los condicionales como if o switch. No es tampoco una mala práctica utilizar estas sentencias, pero solamente debes usarlas cuando sean estrictamente necesarias.

    Evita Asignaciones en Sentencias

    Nunca hagas asignaciones en la comprobación de las sentencias if o while. En un principio te ahorrarán unos cuantos caracteres, pero hacen que el código sea poco claro y más complicado de leer por otros desarrolladores.

    Operadores de Comparación

    En general, no debes utilizar nunca los operadores == y !=, ya que no realizan comprobaciones de tipos. Es por ello que siempre es mejor utilizar los operadores === y !== en su lugar, que sí los comprueban.

    Evita Usar Eval

    Jamás deberías usar la función eval, ya que además de ser insegura, tiene bastantes problemas de rendimiento. Si falla, es difícil saber es dónde está el error y además es fácil inyectar código malicioso en esta función.

    Evita el Usar With

    No deberías usar el operador with, ya que al modificar el flujo o scope de las funciones, puede resultar confuso.

    Temeouts e Intervalos

    Si utilizas las funciones setTimeout o SetInterval, deberías pasarles siempre una función en lugar de usar variables globales en su interior.

    Cadenas Multilínea

    Si quieres crear una cadena que conste de varias líneas, lo recomendable es que concatenes las cadenas de las diversas líneas con el operador +, tal que así: 'cadena1' + 'cadena2'. Podrías usar el símbolo \ al final de una cadena para seguir escribiendo en la línea siguiente, pero no forma parte del estándar al que JavaScript pertenece, por lo que este método quizás sea eliminado en el futuro.

    Prototipos Nativos

    Jamás deberías modificar los prototipos de los objetos nativos de JavaScript, como Object, Date o Array, ya que podría darte muchos problemas difíciles de encontrar.

    Y esto ha sido todo. Faltan muchas cosas, pero estos son los problemas más habituales.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

    https://twitter.com/neeonez