En Java, considero una buena práctica reemplazar literales de cadena con una variable constante cada vez que se usan en más de un lugar y se espera que coincidan. Por ejemplo, si va a establecer una cookie y luego volver a leerla, el nombre de la cookie debe estar en una constante para que el compilador pueda ayudarlo a detectar errores ortográficos, sin mencionar que le permite tener un nombre de variable legible. versus el valor real de la cadena.¿Es una buena práctica extraer literales de cadena a constantes en Javascript?
Estoy revisando algunos códigos como este en JavaScript y me inclino a recomendar que los literales sean reemplazados por una constante. Sin embargo, no estoy seguro de que se apliquen las mismas razones, ya que no existe un compilador y el nombre de la cookie es tan descriptivo como el nombre de una variable.
Editar: En relación con los comentarios y las respuestas recibidas hasta ahora, estoy definitivamente más preocupado con el uso de constantes en comparación con la forma en que se implementan realmente. Veo su valor en Java y otros lenguajes compilados como una manera de evitar errores, pero no estoy seguro de ver el mismo valor en Javascript.
Como mecanismo de documentación, digamos que para números mágicos, creo que tener una variable con nombre (incluso si no se aplica como una constante) sigue siendo una buena forma de mejorar la legibilidad. Sin embargo, para los literales de cadena, no estoy seguro de esto:
var trackingCookieName = "trackingCookie";
es mejor que simplemente usar "trackingCookie" ya que es posible errata ya sea literal o el nombre de la variable y de cualquier manera, sólo sería atrapado en tiempo de ejecución .
De acuerdo. Añadiría que es posiblemente mejor usar constantes a medida que aumenta el número de literales de cadena. En el caso de un error tipográfico, es probable que obtenga un error de referencia que hará que sea mucho más fácil de depurar. – squidbe