Au cours des trois dernières années où j'ai travaillé en tant que développeur, j'ai vu beaucoup d'exemples dans lesquels des personnes utilisent une instruction switch pour définir le chemin d'accès (à la fois en back-end et en front-end) pour une URL. En voici un exemple:
Exemple de back-end (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;
}
Exemple frontal (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/";
}
})();
Nous avons discuté de la question de savoir si c'est une bonne ou une mauvaise pratique, et je pense que c'est une mauvaise pratique, car nous devons éviter ce type de code et définir une configuration appropriée. Mais pour être honnête, je ne connais vraiment pas la bonne réponse, et pourquoi n’est-elle pas recommandée et quelle est la bonne façon de la mettre en œuvre?
quelqu'un peut-il expliquer les avantages et les inconvénients de la pratique ci-dessus?
Dictionary
est un moyen beaucoup plus simple de coder cela en C #. Voir ideone.com/45g5xO . Ou, dans JS, utilisez un bon vieux objet, voir jsfiddle.net/1ouhovqq .