硬編碼:硬編碼是指將可變變量用一個固定值來代替的方法。如果我們的代碼中有大量的硬編碼,之後再修改維護成本就會很高。代碼的延展性就會很差。
硬編碼:if(a==2) return false;
不是硬編碼 if(a==b) return true;
減少硬編碼的問題
查看了很多的博客之後,發現大部分的人都會選擇創建一個枚舉類Enums.js,然後在創建常量文件,維護常量文件和枚舉類就可。方法如下,作爲記錄,如果有更好的方式請留言。
Enum.js文件
export class Enum {
database = [];
constructor(arr) {
//生成map
this.database = arr
arr.forEach((item) => {
Object.keys(item).forEach((k) => {
if (!this[`${k}Map`]) {
this[`${k}Map`] = {};
}
this[`${k}Map`][item[k]] = item;
this[item[k]] = item;
});
});
}
}
data.js 常量文件
const STATUS_LIST = [
{
value: "stop",
label:"暫停",
id:2,
},
{
value:'start',
id:1,
label:'開始',
}
]
export default {
STATUS_LIST
}
使用的vue 文件
<template>
<div>
<!-- <div>{{testInfo}}</div>-->
<p>{{status}}</p>
</div>
</template>
<script>
import { Enum } from '../common/Enum'
import testData from '../dataBase/data.js'
export default {
data(){
return {
status:new Enum(testData.STATUS_LIST),
testInfo:testData.STATUS_LIST
}
},
name: "Enum"
}
</script>
這樣如果我們需要修改常量,只需要維護data.js文件就好