硬编码:硬编码是指将可变变量用一个固定值来代替的方法。如果我们的代码中有大量的硬编码,之后再修改维护成本就会很高。代码的延展性就会很差。
硬编码: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文件就好