En los últimos tres años que he trabajado como desarrollador, he visto muchos ejemplos en los que las personas usan una declaración de cambio para establecer la ruta (tanto en el back-end como en el front-end) para una URL. A continuación se muestra un ejemplo de esto:
Ejemplo de fondo (C #):
public static string getHost(EnvironmentEnum environment){
var path = String.Empty;
switch (environment)
{
case EnvironmentEnum.dev:
path = "http://localhost:55793/";
break;
case EnvironmentEnum.uat:
path = "http://dev.yourpath.com/";
break;
case EnvironmentEnum.production:
path = "http://yourpath.com/";
break;
}
return path;
}
Ejemplo de front-end (JavaScript):
(function () {
if (window.location.host.indexOf("localhost") !== -1) {
window.serviceUrl = "http://localhost:57939/";
}
else if (window.location.host.indexOf("qa") !== -1) {
window.serviceUrl = "http://dev.yourpath.com/";
}
else {
window.serviceUrl = "http://yourpath.com/";
}
})();
Se ha discutido si es una buena o mala práctica, y creo que es una mala práctica, porque debemos evitar este tipo de código y establecer una configuración adecuada. Pero para ser honesto, realmente no sé la respuesta adecuada y por qué no se recomienda y cuál es la forma correcta de implementar esto.
¿Alguien puede explicar los pros y los contras de la práctica anterior?
Dictionary
es una forma mucho más limpia de codificar esto en C #. Ver ideone.com/45g5xO . O en JS use un objeto antiguo, vea jsfiddle.net/1ouhovqq .