我的陈述是这样的:
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等)?
答案 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)
如果与开关组合使用相同的变量对我来说没有意义。 它可以工作,但它要求麻烦。 为什么不将异常作为默认操作?比你根本不需要重复的代码。