W ciągu ostatnich trzech lat, kiedy pracowałem jako programista, widziałem wiele przykładów, w których ludzie używają instrukcji switch do ustawiania ścieżki (zarówno wewnętrznej, jak i front-endowej) adresu URL. Poniżej znajduje się przykład tego:
Przykład zaplecza (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;
}
Przykład frontonu (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/";
}
})();
Omówiono, czy jest to dobra czy zła praktyka, i myślę, że jest to zła praktyka, ponieważ musimy unikać tego rodzaju kodu i ustawić odpowiednią konfigurację. Ale szczerze mówiąc, naprawdę nie znam właściwej odpowiedzi i dlaczego nie jest to zalecane i jaki jest właściwy sposób realizacji tego.
czy ktoś może wyjaśnić zalety i wady powyższej praktyki?
Dictionary
jest znacznie prostszym sposobem kodowania tego w języku C #. Zobacz ideone.com/45g5xO . Lub w JS użyj starego, dobrego obiektu, patrz jsfiddle.net/1ouhovqq .