是否需要默认情况

时间:2014-03-19 15:24:19

标签: java coding-style switch-statement

我的陈述是这样的:

public $type function_name($enum e){
if(e != null)
switch(e){
case A: return x1;
case B: return x2;
case C: return x3;
//default: do some operations
}
// default or e = null
do the exact same operations
}

我的问题是:鉴于在方法的其余部分中处理了默认情况,是否有必要(在良好的编码风格方面)将其添加到switch语句中(基本上,复制&#34的代码;如果发生其他事情" - 在这种情况下,默认为开关,e = null等)?

4 个答案:

答案 0 :(得分:0)

在Switch-Case中不需要默认情况,但如果没有定义的情况发生,则使用它并定义默认情况是一个好习惯。如果你复制代码,那就不好了!

希望它有所帮助。

答案 1 :(得分:0)

默认情况不是必需的,但你应该总是拥有它并记录/抛出优先权。如果传递的值有些错误或问题,您将立即知道问题。

答案 2 :(得分:0)

如果将其添加到default子句,则为最后一行

throw new YException();

将是死代码

请注意,在任何情况下,代码都不会到达最后一行。如果e符合案例A,B or C,它将达到return语句,因此它将退出该函数。如果这些情况都不符合,则throw中的default将会到达。

总之:您应该将其添加到default子句(最好始终包含default)并删除最后throw

答案 3 :(得分:0)

如果与开关组合使用相同的变量对我来说没有意义。 它可以工作,但它要求麻烦。 为什么不将异常作为默认操作?比你根本不需要重复的代码。