¿Por qué el uso de variables globales es una mala práctica de codificación si Google lo usa en su sitio web?

El usuario lo expresó bastante bien, ¡pero traduzcamos eso al inglés simple!

Se sugiere no tener ninguna variable global porque “contamina” su aplicación. Puede tener consecuencias muy indeseables si tiene un global que interfiere con otro al compartir el mismo nombre, entre otros problemas.

Los desarrolladores de Google saben lo que están haciendo. Si están configurando una variable global “google”, estoy seguro de que están bastante seguros de que no habrá conflictos con ningún otro nombre global “google”.

Si estaba utilizando una dependencia ( jQuery , por ejemplo), y dicha dependencia hizo lo que Google hizo en su fragmento de código anterior y creó un global, podría entrar en conflicto con uno de sus globales si desafortunadamente se llamaba igual que el suyo.

Apuesta segura: mantenga todas sus variables “espaciadas por nombres”, con alcance y a salvo de conflictos con cualquier código que usted, un contribuyente o dependencia pueda introducir en su aplicación.


EDITAR: 25/06/17

Además, la creación de datos accesibles a nivel mundial requiere que se adjunte al DOM, en lugar de simplemente vivir en la memoria. Otra razón para evitar los datos globales es el rendimiento.

“Porque no todo lo que Google hace es correcto”.

Una vez dicho esto. Aunque el usuario lo ha señalado con mucha precisión. Google tiene JS ninja que saben exactamente qué hacer y Google no le importa tu memoria, lo que sea que tengas lo explotarán tanto como puedan.

Aunque la mayoría de las aplicaciones usan variables globales, es fácil y rápido de acceder y puede acceder desde cualquier lugar dentro de la página. Entonces, ¿por qué diablos no queremos usarlo? ??

porque:

  • No quieres quedarte sin memoria en la ventana de tu navegador. Si continúa agregando nuevas variables y objetos en su variable global, siempre estarán accesibles, pero son accesibles porque siempre están en la memoria tan pronto como su objeto global se haga más grande (recuerde que ya tiene pocos objetos grandes como documento, ventana ) pronto se quedará sin memoria y su aplicación dejará de responder.
  • Google solo mantiene la información mínima en el objeto global para compartir entre módulos. así que incluso puedes usar global siempre que puedas mantenerlo al mínimo.
  • Y si no está espaciando adecuadamente el nombre de su aplicación, manejar un objeto global puede ser un poco complicado para usted.

y aquí hay una imagen sobre cromo porque una imagen dice mil palabras.

Hola a todos, soy Shubham Gautam, escribo sobre web, javascript y algunas otras cosas.

Porque funciona, es desordenado, pero funciona, es rápido y razonablemente confiable. Aquí en google tenemos que empujar las reglas, no tengas miedo de hacerlo.

More Interesting

¿Cómo puedo crear una página para mostrar listas de videos cuando hago clic en cualquier video reproducido, usando HTML, CSS y / o JavaScript?

¿Python es parte del lenguaje PHP?

Mozilla Persona: ¿Cómo tienen efecto mutuo la barra de URL de Firefox y la barra de búsqueda?

¿Qué es el ensamblaje web?

¿Cuál es la diferencia entre un documento, una tienda y una colección en el diseño de API?

¿Cuáles son las ventajas y desventajas de ASP.NET? ¿Cuál es su alcance?

¿Cómo construir un sitio web sin HTML o cualquier lenguaje de codificación? Es posible

¿Cuánto tiempo puedo trabajar en una sola empresa como freelance en el Reino Unido, antes de arriesgarme a ser atrapado por las regulaciones IR35?

¿Dónde debería estudiar desarrollo web?

¿Cuál es el mejor complemento para una tienda en WordPress?

Con respecto a la rentabilidad, ¿cómo se compara la creación de temas de WordPress para la venta con el diseño de sitios web de WordPress para clientes independientes?

¿JavaScript es bueno incluso para el lado del servidor (con MySQL)? Además, ¿es posible / aconsejable usar solo JavaScript o solo HTML y CSS (¿y es obligatorio el CSS?) Para desarrollar aplicaciones web dinámicas, o los 3 son obligatorios?

¿En qué módulo (archivo) y cómo declarar la clase ECMAScript 6 en la aplicación AngularJS JavaScript?

¿Los usuarios prestan atención e interactúan con las rutas URL?

Como principiante, ¿qué debo hacer para comenzar a desarrollar web y qué cursos debo tomar?