让繁琐的if else逼格高一点点

在提升自己技术水平每个人可能有不同的方式
看别人好的代码和自己多写代码是一个比较好的选择。

先来模拟一种场景比如
后端返回一个内容
然后我们需要根据返回的字段不同值进行显示内容

先看一段可能我们最容易会写的代码

var code = 0;
if(code == 0){
    show("正确");
}else if(code == 1){
    show("不正确,已过期")
}else if(code == 2){
    ......
}

因为这里只有单一的code的变化去显示内容
我们还可能会想到用以下的方式

switch(code){
    case 0:
        show("正确");
    case 1
        show("不正确,已过期");
    ......
}

这两种形式其实没什么太大的区别
我通常遇到这种情况的时候
是这样写的

var codeInfo = ["正确", "不正确,已过期" ......];
show(codeInfo[code])

如果返回的code没有对应的数组下标的话
申明变量的时候就改成对象的形式

var codeInfo = {
    0 : "正确",
    1 : "不正确,已过期"
    ......
}

如果比较复杂的情况
根据状态的不同,然后方法也不同,可以这样做

var codeFunc = {
    0 : function(){
        show("正确")
    },
    1 : function(){
        alert("不正确,已过期")
    }
    ......
}
codeFunc[code]();

之前写过一段非常复杂的逻辑,
复杂到难以想象那种。
总共十几种状态,每一种状态又是根据 不同字段组合而成的。
之前的代码都是 if else 做下来的
反正不去动它其实也不是说难以维护
但是总归就是看起来low。
重构的话就是按照上面那种思想去处理的。
可以稍微感受一下

640?wx_fmt=jpeg&tp=png&wxfrom=5&wx_lazy=1

我以前的后端领导跟我讲过
写代码就跟建管道一样
一条管道永远是最易维护的
所以我们要把预先不要的东西放到最上面
比如

if(abc){
    func(...);
}else{
    return;
}


if(!abc) return;
func(...);

这两种方式
在代码整洁和可读上面
我们都应该选择第二种形式

初期可能我们写的代码可能比较难看
如果时间允许的情况下,可以抽空去改一下之前的这种逻辑很复杂的代码。
或许会得到很多我们意想不到的满足感。

clipboard.png

ps:早睡早起,常做运动,多与异性交朋友~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值