顺序,分支,循环。
程序的命脉。
但是对于分支很多人喜欢写这种代码
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。