前端代码编写中,总是由于各种逻辑判断写出一堆 if-else。

2021-03-26 16:51:47 +08:00
 l947

前端代码编写中,总是由于各种逻辑判断写出一堆 if-else,当然简单的状态判断能不用已经不用了,但是还有有很多复杂逻辑没想到什么好的替换方法。求教各位大佬都是用什么方法来写这些复杂逻辑的呢?

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765462

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX