if - else if if else else

时间:2014-01-22 16:58:48

标签: java php c++ c

有时我会在代码if/else if-blocks中看到这样的结果 - 最后没有else-block

if(..) {
  ..
} else if(..) {
  ..
}

在我看来,这不是一种好的风格,因为else-block在语义上属于ifif/else-if-blocks

否则,例如,在使用枚举的情况下,您必须明确注释else-block以明确何时执行。 此外,您可以轻松扩展您的枚举等以用于其他用例,而不会默认创建崩溃程序(else-block默认情况下不会为新添加的值执行。)

所以,现在我已经在其他PRO或CON中使用此样式而不是结尾else-block

电贺!

2 个答案:

答案 0 :(得分:3)

这不是利弊。这是你需要做的事情。考虑语句“如果值小于0,则使其为0”。执行此操作所需的代码是 -

if (value <0)
    value = 0

不需要其他块。

答案 1 :(得分:0)

这是我的意见。

在大多数情况下,您希望在没有if()的情况下使用else阻止。有时您需要else。你很少需要if/else if

为什么呢?你自己解释了原因。在枚举的情况下,BTW不应使用if/elseswitch/case。更好的puttern是为每个枚举成员分别实现业务方法到枚举本身,然后使用它。

通常,如果您想使用if/else结构,除了工厂多态解决方案更可取。