开关语句(switch statements)是否应该始终包含默认子句?

356

在我最初的一次代码审查中,我被告知在所有 switch 语句中都包含一个默认语句是良好的实践。最近我记起了这个建议,但不记得其理由。现在这听起来相当奇怪。

  1. 是否总是包括一个默认语句有合理的理由?

  2. 这与编程语言相关吗?我不记得当时我在使用哪种语言-也许这适用于某些语言而不适用于其他语言?


14
这将在很大程度上取决于语言。 - skaffman
22个回答

0
我认为这是过时的建议。 在Java中,如果你使用switch表达式,编译器可以检测到缺失的值并报错。因此,添加默认值反而成为一种不良实践,因为当你添加新的枚举值时,你将无法知道switch语句是否被打破了。

0

switch语句是否总是应该包含一个default子句?

在switch语句中,如果没有default情况,则不能存在switch情况。在switch情况下,default情况将触发switch值switch(x),在这种情况下,当x与任何其他情况的值不匹配时。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接