优化多个if...else

【项目实战】优化if-else逻辑之使用多个instanceof if语句中的多个instanceof 阅读详情

做项目时经常会写多个if…else,此时如果领导让我们优化,该怎么优化呢

假如优化以下代码:

function speak(name) {
      if (name == "小狗") {
        console.log("小狗汪汪叫");
      } else if (name == "小猫") {
        console.log("小猫喵喵叫");
      } else if (name == "鸭子") {
        console.log("鸭子嘎嘎叫");
      } else {
        console.log("不要叫");
      }
    }
    // 优化以上代码

    speak("小狗")

下面是同事提供的一种思路

   function speak(name) {
      const mapName = {
        "小狗": () => console.log("小狗汪汪叫"),
        "小猫": () => console.log("小猫喵喵叫"),
        "鸭子": () => console.log("鸭子嘎嘎叫"),
      }
      if (mapName[name]) mapName[name]();
        else console.log("不要叫");
    }
      speak('小狗') // 小狗汪汪叫
震惊!!!用了这些方法,他的代码里再也没有if-else 前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案。 优化方案一:提前return,去除不必要的else 如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干掉,使代码更加优雅。 优化前: if(condition){ //doSomething }else{ return; } 优化后: if(!condition){ return; } //doSomethin 阅读详情

相关推荐

优化IF-ELSE 代码结构的优化

1. 前言 代码中,如果 if-else 语句比较多,阅读起来比较困难,维护性较差,很容易出bug。接下来,此文将介绍优化 if-else 代码的八种方案 2. 优化方案 方案一:提前 return,去除不必要的else 如果 if-else 代码块包含 return 语句,可以考虑通过提前 return,把多余 else 干掉,使代码更加优雅 优化前: if (condition) { // TODO } else { return; } 优化后: if (!conditio

sco5282的博客 3127

公司新来的同事给出了if-else优化的8种方案

优化庞大if-else语句的多种方法,包括提前return、枚举、Optional、表驱动、策略模式+工厂模式、规则引擎等,强调选择最适合项目的方案,提高代码清晰性、灵活性和维护性。

俺叫赵小邪的博客 2119

如何对多个if-else判断进行优化

当我们遇到需要多个条件判断的业务操作时,最简单直接的办法就是用多个if-else判断,虽然能够实现,但当判断条件过多,甚至是多元判断时,我们的代码就会变得非常不好阅读和维护。 举个例子 这里也可以用switch if(status === '1'){ return '未审批' }else if(status === '2'){ return '审批中' }else if(status === '3'){ return '审批通过' }else

伟深么的博客 2万+

业务中出现多个if-else进行优化

if- else优化

qq_44953372的博客 453

项目中多个if else 怎么做优化

优化项目中多重if-else的方法:使用策略模式+工厂方法可有效解决代码可读性差、维护成本高、扩展性差等问题。将每个条件逻辑抽象为接口实现类(如FlySkill、BurrowSkill等),通过工厂类统一管理。使用时只需传入技能类型,工厂返回对应的策略实例执行具体逻辑。这种方法使代码更简洁、易扩展、便于测试,有效避免了深层嵌套带来的维护困难。优化后调用方式简洁清晰,业务逻辑扩展时只需新增策略类,无需修改原有代码结构,符合开闭原则。

weixin_73756947的博客 332

python多个if怎么优化_利用策略模式优化过多 if else 代码

前言利用利用策略模式实际开发中 if else 条件判断过多的问题比如平时大家是否都会写类似这样的代码:if(a) {//dosomething}else if(b) {//doshomething}else if(c) {//doshomething}else{//doshomething}条件少还好,一旦 else if 过多这里的逻辑将会比较混乱,并很容易出错。比如这样:摘自 cim 中的一...

weixin_39706441的博客 2829

Vue优化多个else if

Vue优化多个else if

qq_59626859的博客 988

php 多个if优化,PHP IF-ELSE代码优化

IF - ELSE structure's optimizePROCESS: 以 else 的情况作为错误开头, 直接在 if 情况去修改 $arr_errorRESULT: 结果代码看起来更简洁简书对于代码排版非常的恶心,还是说先用其他编辑工具,再复制粘贴。Before optimizeprivate function resetpwdVerify($request, $arr_user){if...

weixin_39640090的博客 528

多个if-else优化

1: 多元判断时:将condition写作正则存到Map里 const actions = ()=>{ const functionA = ()=>{/*do sth*/} const functionB = ()=>{/*do sth*/} const functionC = ()=>{/*send log*/} return new Map([ [/^guest_[1-4]$/,functionA], [/^guest_5$/,functionB]

qq_39664116的博客 712

多个if else如何优化

这段时间一直在整改代码圈复杂度,我们的要求是每个函数方法圈复杂度不得大于5,以下是整改的部分截图 希望对整改代码的你有所提示或帮助,如果有更好的整改方法,还望您不吝赐教哦!  ...

Mr.Xie的博客 1万+

python多个if怎么优化_过多if-else分支的优化

我想谈一谈这个话题是因为我的上一篇博客在ITEye上有一些朋友回复,说if-else过多的分支可以使用switch或者责任链模式等等方式来优化。确实,这是一个小问题,不过我们还是可以整理一下这个小问题的重构方式。为什么要优化?你没有看错。这是要放在第一条谈论的。有许多人会说,叠起来一堆if-else分支,代码就不优雅了。可是,怎样去定义“优雅”的概念呢?再退一步说,即便不“优雅”,又有什么问题?对...

weixin_39786141的博客 5864

多个v-if v-else判断的优化

【代码】多个v-if v-else判断的优化

逆风优雅的博客 1274

优化多个else if的情形

今天面试清晰记得一道题目 `public static void demo(int a, YouHuaDemo yh) { if(a==1){ yh.show1(); }else if(a==2){ // … yh.show2(); }else if(a==3){ // …

lijian12388806的博客 4716

Java优化多个if else改用设计模式

在实际项目中相信大家都遇到过令人糟心的代码,一个方法一溜下来全是if else,还写满了业务逻辑,代码如下: public static void main(String[] args) { String name = "张三"; if("张三".equals(name)){ // 业务逻辑... System.out.println("我是张三"); }else if("李四".equals(name)){

SeanSunnn 7471

java 多个if 优化_利用策略模式优化过多 if else 代码

前言不出意外,这应该是年前最后一次分享,本次来一点实际开发中会用到的小技巧。比如平时大家是否都会写类似这样的代码:if(a){//dosomething}else if(b){//doshomething}else if(c){//doshomething} else{////doshomething}条件少还好,一旦else if过多这里的逻辑将会比较混乱,并很容易出错。比如这样:摘自ci...

weixin_33168794的博客 2175

js 多个if else如何优化

js 多个if else如何优化,复杂条件优化

weixin_42178050的博客 387
上一篇: React 尚硅谷学习笔记
下一篇: vue input输入框限制输入负号、数字、以及两位小数
Sweet_Waf
博客等级 码龄8年 8粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值