在我的第一次代码审查(前一段时间)中,我被告知在所有switch语句中包含一个default子句是一种好习惯.我最近记得这个建议,但不记得理由是什么.这对我来说听起来很奇怪.
总是包含默认声明是否有合理的理由?
这种语言是依赖的吗?我不记得当时我用的是什么语言 - 也许这适用于某些语言而不适用于其他语言?
if...else if我见过的每个例子都包含一个最终else条款:
if (condition1) {
doA();
} else if (condition2) {
doB();
} else if (condition3) {
doC();
} else {
noConditionsMet();
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)
我理解这对于嵌套if...else语句来说基本上是语法糖:
if (condition1) {
doA();
} else {
if (condition2) {
doB();
} else {
if (condition3) {
doC();
} else {
noConditionsMet();
}
}
}
alwaysDoThis();
Run Code Online (Sandbox Code Playgroud)
我从来没有见过的任何例子if...else if是省略了最后else条款.但是看到简单的if语句(没有else子句)是有效的,并且通过上面的等效"嵌套语句",我的直觉告诉我这样做是可以的:
if (condition1) {
doA();
} else if (condition2) {
doB();
} else …Run Code Online (Sandbox Code Playgroud)