拒绝魔法数字

319 阅读1分钟

魔法数字

  • 网上的定义:魔法数字(Magic Number)是指拥有特殊意义,却又不能明确表现出这种意义的数字。程序里面存在大量这种难以阅读的数字。

我写的魔法数字

    showActionWord(row) {
      let is_seller = this.is_seller
      let is_da_assessor = this.is_da_assessor
      let is_rs_assessor = this.is_rs_assessor

      if (is_seller === true) {
        if (row.da_eval_status === 0 && row.research_eval_status === 0) return ''
        if (row.da_eval_status === 2 && row.research_eval_status === 2) return '销售评估完成'
        if (row.da_eval_status === 2 && row.research_eval_status === 3) return '销售评估完成'
        if (row.da_eval_status === 3 && row.research_eval_status === 2) return '销售评估完成'
        if (row.da_eval_status === 3 && row.research_eval_status === 3) return '销售评估完成'
        return '等待销售录入工时'
      }

      if (is_da_assessor === true) {
        let showWord = ['', '等待销售补充需求', '录入工时', '修改工时']
        return showWord[row.da_eval_status]
      }
      if (is_rs_assessor === true) {
        let showWord = ['', '等待销售补充需求', '录入工时', '修改工时']
        return showWord[row.research_eval_status]
      }

      return ''
    },
  • 这里的话,我写的0,1,2,3,最终影响返回的结果,但是这里的0,1,2,3没有去说明它们代表什么含义,导致以后阅读起来不能够直接理解代码。

使用枚举的方法去解决

image.png

  • 新建一个专门存放 enum的文件,或者写在文件顶部, 用有意义的枚举,代替无意义的魔法数字