关于代码中的 if else 重构

2018-03-19 09:15:34 +08:00
 MaZiT

写接口的时候,经常需要验证参数的数据类型、参数的值。还有一些选填 /必选之类的判断.

如果是用普通的 if esle 去判断的话,导致代码不优雅,后期迭代困难. 在知乎上看的 “如何优雅地解决项目中可能存在的很多的 if/else ” 也不太理解设计模式, 大家平常是用什么方式可以解决呢或者是大家有什么建议应该看哪些书、方法之类的? 求指点迷津,谢谢

7043 次点击
所在节点    程序员
45 条回复
newmlp
2018-03-19 14:38:16 +08:00
if 不就是判断用的么,有什么不优雅的,不要为了设计而设计,而且如果判断数量不多的话,改用其他会带来性能问题,虽然不多
r7st
2018-03-19 14:41:30 +08:00
@torbrowserbridge do while 这不是??
zjsxwc
2018-03-19 14:45:19 +08:00
责任链模式吧,专门用来避免超多 if-else 的情况
cljnnn
2018-03-19 14:49:00 +08:00
《代码大全》里面对多层 if else 的建议是,if 里面总是处理预期情况,else 处理其他情况。 看起来不太优雅,但是逻辑很清楚(这一句我说的)。
yidinghe
2018-03-19 17:30:24 +08:00
不要一开始就通过设计去避免 if-else,等将来分支确实多起来了再考虑也不迟。

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

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

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

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

© 2021 V2EX