你的代碼是否存在硬編碼

硬編碼:硬編碼是指將可變變量用一個固定值來代替的方法。如果我們的代碼中有大量的硬編碼,之後再修改維護成本就會很高。代碼的延展性就會很差。

硬編碼: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文件就好

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章