ในช่วงสามปีที่ผ่านมาที่ฉันทำงานเป็นนักพัฒนาฉันได้เห็นตัวอย่างมากมายที่ผู้คนใช้คำสั่งสวิตช์เพื่อกำหนดเส้นทาง (ทั้งในส่วนหลังและส่วนหน้า) สำหรับ 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