Web 项目越来越多的 if else 这正常吗?

2015 年 9 月 17 日
 RRL

思维是被固化了?
感觉到非常多的 if 结构语句
有时候会纠结用 try 还是 if else ?

5539 次点击
所在节点    Java
24 条回复
moe3000
2015 年 9 月 17 日
我基本会有很多 if return, else 较少
话说 try 是要怎么用?为什么会和 if else 纠结?
lichao
2015 年 9 月 17 日
if 多不多,得看具体业务场景
try 做异常捕获,跟 if else 这个完全不需要纠结吧
cyberdak
2015 年 9 月 17 日
try 是捕抓异常的。。

楼楼大概是要问 if else 和 switch
FFLY
2015 年 9 月 17 日
try 是做异常捕获处理的,纠结什么呢?
zjq426
2015 年 9 月 17 日
得看 if 多在哪了,如果是比较值的可以用 switch 啊,
如果是一组逻辑判断也可以实现类似 python 里的 any all 之类的判断。或者优化一下表达式什么的。
其实做好代码的封装和模块化处理应该也不太会出现很多的 if 。
如果是 copy & paste 的代码那出现很多 if 是必然的了。。。
xfspace
2015 年 9 月 17 日
switch 来得快, else if 读起来缩进难受
pelloz
2015 年 9 月 17 日
常用的判断封装好,把类似业务的条件判断抽离出来一起处理,这样看起来逻辑比较清晰,该需求也容易应对了
honam
2015 年 9 月 17 日
try 和 if else 有关系? LZ 怎么做的
aisk
2015 年 9 月 17 日
说明面向对象建模没有做好,写出来的代码都是过程式的。
sorra
2015 年 9 月 17 日
异常控制流多的走 try 不是不可以, 1 楼的 if return 也可以。清晰就好,看效果。
另外安利一篇 http://segmentfault.com/a/1190000000664023
RRL
2015 年 9 月 17 日
@moe3000 @lichao @cyberdak @FFLY ...例如判断非法 URL (/?p=xxx )之类,纠结用 if 还是 try ,纠结那个更合适当前场景,更加简洁迅速(这可能是病)。
@pelloz @aisk 判断最多的是在 controller 中,框架使用的是 jfinal
例如某个 Controller 需要判断非法 URL ,需要判断当前登录用户 ID ,同时也要满足未登录用户需求,这样下来整个个代码看起来满目全非。
类似这种大量的判断无从下手的感觉。

另外求推荐比较精细的项目
aisk
2015 年 9 月 17 日
@blackboom 就是 jfinal 帮你做了基本的面向对象建模,之后的你没有再考虑继续抽象,而是在此之上写很多 if else while return 的语句。这种项目挺常见的,关键就是要做合理的抽象。
moe3000
2015 年 9 月 17 日
@blackboom 记得 jfinal 有 interceptor ,用这个拦截非法 url 啊
akagi
2015 年 9 月 17 日
再次建议表驱动……
BB9z
2015 年 9 月 17 日
把 model 变重一些,多建一些可读性更好的 getter 。
phithon
2015 年 9 月 17 日
其实楼主的意思是, web 里太多错误判断用 if else 来完成了,是不是要改成异常处理
其实我的意见是,没必要。
else 能少就少, if 的话该有的就得有,不满足条件的直接 return 不用 else ,然后把通用的一些功能一封装就好了,不嫌多的。谨慎是好事。
RRL
2015 年 9 月 18 日
@moe3000
@phithon
谢谢两位,改为 if return 代码清爽太多了,简洁迅速。喜欢!
RRL
2015 年 9 月 18 日
@akagi 感谢,又发现新大陆了
zonghua
2015 年 9 月 18 日
设计模式,设计模式。
whimsySun
2015 年 9 月 18 日
我都看纠结了。。。

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

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

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

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

© 2021 V2EX