美文网首页
if-else的魔咒

if-else的魔咒

作者: Nerrrrrd | 来源:发表于2016-09-18 16:03 被阅读0次

顺序,分支,循环。
程序的命脉。
但是对于分支很多人喜欢写这种代码

if (something) {
...
}
if (something) {
...
}
if (something) {
...
}

以前我也喜欢这么写,现在不了。
why?因为程序很多时候就是流一样,一个条件分支应该使这个流越来越小,最终精确地实现目标。
分支语句某种意义上就是过滤。
把所有情况都分到各自的模块处理。
而上述代码是很容易漏的,你应该这样写

if (something) {
...
}
else if (something) {
...
}
else if (something) {
...
} else {
...
}

这样你让自己考虑了所有情况。
而且考虑下面这个场景:
代码中,如果多个if语句并列,而其中两个if可能对同一个数据进行逻辑上矛盾的操作。
比如一个if清空了数组,另一个却读取数组,在并列式的if语句中很可能因为条件没能正确划分产生这种问题
而使用if...else不会产生这种问题。
再者,使用并列的if你可能看到这样的语句

if (something && aaa && bbb) {
...
}
if (something && aaa && eee) {
...
}
if (something && aaa && ccc) {
...
}

这么长的条件,你累不累?
使用else的话可以把条件拆解

if (something) {
...
}
else if (aaa) {
...
}
else if (ccc) {
...
} else {
...
}

这样从逻辑上都会更加清晰,同时杜绝了条件考虑不全的情况。
so,使用if时永远考虑加上else。

相关文章

  • if-else的魔咒

    顺序,分支,循环。程序的命脉。但是对于分支很多人喜欢写这种代码 以前我也喜欢这么写,现在不了。why?因为程序很多...

  • 初学C语言

    初学C语言——if-else if-else语句 #includeint main(int argc,const ...

  • JavaScript--条件控制语句

    一、if语句 if语句有三种形式:简单的if语句,if-else语句,if-else if语句。 1、语法 if ...

  • if-else if-else语句

    if-else if-else语句的语法格式为: 语法说明: 1、 else if是else和if两个关键字,中间...

  • R中的IF, ELSE, ELSE IF语句

    R中的IF, ELSE, ELSE IF语句 if-else语句 在R中,if-else语句的语法是: 例如,想检...

  • 生?死?

    阳光总有照不到的地方,可怕的影子会吃人的影子…… 魔咒、魔咒、魔咒、魔咒、魔咒、魔咒…… 漩涡、漩涡、漩涡、漩涡、...

  • 2. 空间换时间问题

    1. switch-case与if-else switch-case的效率比if-else的效率要高很多,属于典型...

  • iOS开发技能树之C语言-结构语句

    分支结构 1、简单if 基本结构 2、if-else 基本结构 3、多重嵌套if-else 基本结构 4、swit...

  • VHDL多路选择部分语法

    ①【if-else】 if ___ then ___; elsif ___ then ___; els...

  • if-else代码优化方案①策略模式 ②Map+Function

    if-else?解决方案①策略模式 ②Map+Function函数式接口 1.策略模式解决if-else 策略模式...

网友评论

      本文标题:if-else的魔咒

      本文链接:https://www.haomeiwen.com/subject/qznerttx.html