相信你們常常見到以下類型的代碼bash
if (status === 1) {
// todo
} else if (status === 2) {
// todo
} else if (status === 3) {
// todo
} else if (status === 4) {
// todo
}
// 或者
switch (status) {
case 0:
// todo
break;
case 1:
// todo
break;
case 2:
// todo
break;
case 3:
// todo
break;
default:
}
複製代碼
這樣的代碼沒有錯誤,可是在後期維護和閱讀時,基本上是很難知道0123到底表明什麼意思。即便註釋了0123的意思,也得屢次翻看註釋才能順暢閱讀代碼。因此,能夠把判斷邏輯值抽出,以下:ui
const STATUS = {
BEGAIN: 1, // 活動開始
DOING: 2, // 活動進行中
FINISHED: 3, // 活動完成
INVALID: 4, // 活動失效
};
switch (status) {
case STATUS.BEGAIN:
// todo
break;
case STATUS.DOING:
// todo
break;
case STATUS.FINISHED:
// todo
break;
case STATUS.INVALID:
// todo
break;
default:
}
複製代碼
如此,雖然代碼量略增一點點,可是可讀性大大增長。若是判斷邏輯值很是多,或者須要依賴多種計算,則徹底能夠抽出到一個獨立的文件中。spa