9个小技巧让你的 if else看起来更优雅(上)

简介: 9个小技巧让你的 if else看起来更优雅

if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码:


image.png


是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让我们避免来写这么多的 if else 呢?


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


1.使用 return


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


优化前代码:


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


优化后代码:


if (str.equals("java")) {
    return ;
}
return false;


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


「勿以善小而不为,勿以恶小而为之」「千里之堤,溃于蚁穴」,说的都是同样的道理。


2.使用 Map


使用 Map 数组,把相关的判断信息,定义为元素信息可以直接避免 if else 判断,实现代码如下。


优化前代码:


if (t == 1) {
    type = "name";
} else if (t == 2) {
    type = "id";
} else if (t == 3) {
    type = "mobile";
}


我们先定义一个 Map 数组,把相关判断信息存储起来:


Map<Integer, String> typeMap = new HashMap<>();
typeMap.put(1, "name");
typeMap.put(2, "id");
typeMap.put(3, "mobile");


之前的判断语句可以使用以下一行代码代替了:


type = typeMap.get(ty);


3.使用三元运算符


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


优化前代码:


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


优化后代码:


score = score > 80 ? 100 : 60;



相关文章
|
12月前
|
IDE Shell 开发工具
【树莓派 Pico 基于MicroPython编程Thonny开发】
【树莓派 Pico 基于MicroPython编程Thonny开发】
477 0
|
Java 应用服务中间件 API
解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案
解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案
543 0
解决SpringBoot多模块发布时99%的问题?SpringBoot发布的8个原则和4个问题的解决方案
HC-05蓝牙模块遇到的问题与解决方法及实现和手机通信
HC-05蓝牙模块遇到的问题与解决方法及实现和手机通信
1900 0
HC-05蓝牙模块遇到的问题与解决方法及实现和手机通信
|
IDE 程序员 开发工具
IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019)、安装、入门、使用方法之详细攻略(二)
IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019)、安装、入门、使用方法之详细攻略
IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019)、安装、入门、使用方法之详细攻略(二)
|
存储 网络协议
Socket粘包问题的3种解决方案,最后一种最完美!(3)
Socket粘包问题的3种解决方案,最后一种最完美!(3)
325 0
Socket粘包问题的3种解决方案,最后一种最完美!(3)
Socket粘包问题终极解决方案—Netty版(2W字)!(7)
Socket粘包问题终极解决方案—Netty版(2W字)!(7)
243 0
|
设计模式 IDE Java
想读Spring源码?先从这篇「 极简教程」开始(上)
想读Spring源码?先从这篇「 极简教程」开始
229 0
想读Spring源码?先从这篇「 极简教程」开始(上)
|
Java Spring
用了自定义Banner后,SpringBoot瞬间变的高大上了...(下)
用了自定义Banner后,SpringBoot瞬间变的高大上了...
277 0
用了自定义Banner后,SpringBoot瞬间变的高大上了...(下)