消除代码中的if-else

本文探讨了如何避免编写过多的if-else语句,提供了6种优化方法:1) 使用return,2) 三元运算符,3) 枚举,4) 梳理优化判断逻辑,5) 选择性使用switch,6) 策略模式结合简单工厂。通过这些方法,可以提高代码的可读性和可维护性。
摘要由CSDN通过智能技术生成


前言

if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码:
在这里插入图片描述
是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让我们避免来写这么多的 if else 呢?

我们本文提供了 6种方法来解决掉那些“烦人”的 if else,一起来看吧。


一、使用 return

我们使用 return 去掉多余的 else,实现代码如下。

优化前代码:

if ("java".equals(str)) {
   
    // 业务代码......
} else {
   
    return;
}

优化后代码:

if (!"java".equals(str)) {
   
    return;
}
// 业务代码......

这样看起来就会舒服很多,虽然相差只有一行代码,但真正的高手和普通人之间的差距就是从这一行行代码中体现出来的。

二、使用三元运算符

三元运算符也叫三元表达式或者三目运算符/表达式,不过代表的都是一个意思,优化代码如下。

优化前代码:

Integer score = 81;
if (score > 80) {
   
    score = 100;
} else {
   
    score = 60;
}

优化后代码:

score = score > 80 ? 100 : 60;

三、使用枚举

优化前代码:

Integer typeId = 0;
String type = "Name";
if ("Name".equals(type)) {
   
    typeId = 1;
} else if ("Age".equals(type)) {
   
    typeId = 2;
} else if ("Address".equals(type)) {
   
    typeId = 3;
}

优化时,我们先来定义一个枚举:

public enum TypeEnum {
   
    Name(1), Age
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值