据说优秀的代码没有 else?

2018-04-18 18:53:08 +08:00
 GoPHP

多个 if else 嵌套的代码估计大家都见过。。。头疼!

但是其实很多 if else 可以简化成一个 if,不需要 else,举个例子:

$books = getByAFunc()
if($books) {
   do something ...
   return something
}else {
   do something ....
   return something
}

看上去没什么毛病,但是根据业务需求,大部分是可以这么写:

if($books) {
     do something...
     return something
}
do something...
return something

这只是举个例子,很多时候满足条件的只有一种情况,那我们就可以针对这一种情况处理,其他情况直接 return !

还要一种写法是先处理可能出现的异常错误,然后最后执行下来的就是正确情况!

16859 次点击
所在节点    程序员
147 条回复
ty89
2018-04-20 13:17:56 +08:00
优秀的代码没有代码
armstrong
2018-04-20 14:11:43 +08:00
部分认同,在 Java 里面,如果业务逻辑复杂,出现大量的 if else 的话,可以考虑设计模式,用一些封装、多态来解决。if else 不是问题,如果代码里只有大量的 if else,没有任何抽象、封装,那就是问题
DRcoding
2018-04-20 14:24:49 +08:00
据说优秀的程序员都没有头发?

据说 Mac 是程序员的标配?

据说 PHP 是世界上最好的语言?

......
spark
2018-04-20 14:25:36 +08:00
优秀的程序员不写代码,全部外包出去
SummerWQM
2018-04-20 15:00:16 +08:00
这个说法 我是赞成的 我也是这么写 但是经验大佬给我说 加 else 方便扩展
X41822N
2018-04-20 16:35:13 +08:00
优秀的代码确实没有 else

https://github.com/kelseyhightower/nocode
changwei
2018-04-20 21:07:11 +08:00
优秀的代码只有 goto

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

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

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

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

© 2021 V2EX