Dalam tiga tahun terakhir saya bekerja sebagai pengembang, saya telah melihat banyak contoh di mana orang menggunakan pernyataan beralih untuk mengatur jalur (baik di back-end dan front-end) untuk URL. Di bawah ini adalah contohnya:
Contoh 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;
}
Contoh 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/";
}
})();
Telah dibahas apakah itu praktik yang baik atau buruk, dan saya pikir itu adalah praktik yang buruk, karena kita harus menghindari kode semacam ini dan mengatur konfigurasi yang tepat. Tetapi sejujurnya saya benar-benar tidak tahu jawaban yang tepat dan mengapa itu tidak direkomendasikan dan apa cara yang benar untuk menerapkan ini.
dapatkah seseorang menjelaskan pro dan kontra dari praktik di atas?
Dictionary
adalah cara yang jauh lebih bersih untuk mengkode ini dalam C #. Lihat ideone.com/45g5xO . Atau di JS gunakan objek yang sudah tua, lihat jsfiddle.net/1ouhovqq .