私が開発者として働いてきたこの3年間で、ユーザーがswitchステートメントを使用してURLのパス(バックエンドとフロントエンドの両方)を設定する多くの例を見てきました。以下に例を示します。
バックエンドの例(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;
}
フロントエンドの例(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/";
}
})();
良いプラクティスか悪いプラクティスかが議論されていますが、この種のコードを避けて適切な構成を設定する必要があるため、悪いプラクティスだと思います。しかし、正直なところ、私は本当に適切な答えを知りません。なぜそれが推奨されないのか、そしてこれを実装する正しい方法は何ですか。
上記の実践の長所と短所を誰かに説明できますか?
Dictionary
はこれをC#でコーディングするはるかにクリーンな方法です。ideone.com/45g5xOを参照してください。または、JSでは古き良きオブジェクトを使用します。jsfiddle.net/1ouhovqqを参照してください。