单分支 两路分支和多分支的if结构_干掉if-else系列,可解决各种多分支嵌套,内联嵌套,复杂结构等,非策略模式的实现...

3de8a6a9b79d9f67ddd0ef2f14e1bbf2.png

标题图借用 @老刘 https://zhuanlan.zhihu.com/p/91667659

业务中经常碰到if-else多分支使用,嵌套使用的情况,业务逻辑一复杂,代码就变得很难维护

,随便改几个字就报错,眼睛要看花,使用策略模式又感觉通用性不太强

于是在摸索中写了一个If()函数,可以在很大程度上可以改善If-else所造成的的代码难维护的问题

下面会结合一些业务场景介绍下基于自写If()函数是如何解决此类问题的,看能不能在一定程度帮助大家解决if-else的常见痛点

If() 函数介绍: 基于javascript实现,原理很简单就是条件分支都添加到了数组中,类似于队列,

基本概念:

//在javascript中 

再说基本使用,免得一头雾水:

If

后面业务需求改变了.不管boolean如何都显示这个按钮,但进行其他业务操作

if

现在可以这样改

#

示范2 多分支使用:

other1

可以做逻辑检查和函数执行体的分离

#

使用If()函数修改后

...

这样做好处显而易见,抽象出来的数据如果依赖于多种状态代码是可以二次复用的,其次将

业务代码与复杂的分支结构进行了分离,让代码更好维护,结构更加美观清晰

如果业务逻辑足够简单的话还可以改成循环体使用

先把接口说一下

If

终极优化环节

#

#1 #2 #3 三段代码等价

示范3 解决-> 嵌套多分支的情况:

#

使用If函数修改

#

推荐:

#

业务逻辑简单也可用循环优化:

#

#1 #2 #3 #4等价

延迟使用:

const 

与函数体分离:

const 

条件作为一个函数体使用+传递参数

If

进阶使用

使用参数传递跳出无限递归:

有时候我们要根据一个数据的状态发送一段信息,等待s秒后又要添加一段信息

let 

现在这样改

const 

串联使用--随意的功能扩展

有时候也许需求经常增加和删除怎么改呢?

function 

If函数这样改

If

链式调用 :

If

异步使用+参数传递+延迟检查+重复利用

const 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值