目录
完全不必要的else块
场景
通常适用于二选一的场景,既然二选一,只需保留一个if即可,剩下的else用return取代;
解决方法
去掉else,直接用if-return组合取代else;
价值分配
场景
如果要根据提供的某些输入为变量分配新值,则只需要if-return配合即可;
因为是输入值,那么同一时刻,只能输入一个值,只不过这个值的取值范围不固定而已;
解决方法
if() return xxx
if() return xxx
if() return xxx
依次轮退
将If-Else转换为字典,完全避免If-Else
场景
根据某些条件,对应进行一大堆操作,如果继续使用if-if else的话,会给人一种头轻脚重的错觉,例如:
if(xxxxx){
这里面有50行代码
}else if(xxxxx){
这里面有60行代码
}
这种编写,极容易耗费后续维护,也容易忘记if里面的条件是什么;
解决方法
使用Map来取代if-else if-else;Map的每个key对应一个value,而这里的Value可以是一个接口/抽象类,然后通过get方法直接调用对应的业务逻辑;
缺点:类可能比较多,比较繁琐
扩展应用程序,完全避免使用 If-Else
场景
怎么说呢,这种模式就是利用【策略模式】进行修改,说是未来方便扩展,其实,感觉跟上一章节内容类似,只是一个内容量相对少,一个内容量相对多的区别;