前端代码编写中,总是由于各种逻辑判断写出一堆 if-else,当然简单的状态判断能不用已经不用了,但是还有有很多复杂逻辑没想到什么好的替换方法。求教各位大佬都是用什么方法来写这些复杂逻辑的呢?
1
ayase252 2021-03-26 16:56:26 +08:00
可以读一下 重构第 2 版 第 10 章 Simplifying Conditional Logic
|
2
whypool 2021-03-26 17:34:33 +08:00 via Android
那就嵌套 if
|
3
leoyzh97 2021-03-26 17:42:19 +08:00
策略模式?
|
4
xiaochong0302 2021-03-26 18:00:19 +08:00
放宽心,这个业务逻辑复杂造成的,自我安慰一下啦!
|
5
lscho 2021-03-26 18:13:12 +08:00 via iPhone
复杂的逻辑拆分成小块逻辑不就行了
|
6
mon6912640 2021-03-26 18:15:15 +08:00
用 do...while(false)的结构来减少 if-else 的嵌套,用 break 提前结束,这样的话,就能把 if-else 造成视觉上的坑坑洼洼填平了
|
7
walpurgis 2021-03-26 18:16:33 +08:00 via Android
表驱动,配置化
|
8
ctrlands 2021-03-26 18:16:44 +08:00
可能不是你的问题,是需求更改的问题,设计模式?
|
9
rbe 2021-03-26 19:00:52 +08:00
return early, 如果还不行就考虑把复杂逻辑拆成多个小函数,起有意义的函数名
|
10
Biwood 2021-03-26 19:37:22 +08:00
新手程序员很容易就会这样,都是这么走过来的。
这时候就涉及到编程最核心的概念:代码的抽象化。怎么把 else 两边重复的代码提取出来,封装成函数。怎么用 Map 或其他语法替代 if-else 。 编程最重要的一点就是用少量简单的代码替代大量的重复性劳动,你的逻辑判断里面如果出现了很多重复性的东西,那说明还有优化的空间。重复的逻辑判断封装之后就是函数,多个函数被封装后就是组件 /类,多个组件被封装后就成了库,多个库在被封装之后就构成了一个系统。 |
11
agdhole 2021-03-26 20:05:19 +08:00 via iPhone
IoC
|
12
l947 OP 感谢各位大佬,受益匪浅~
|