有时我会在代码if/else if-blocks
中看到这样的结果 - 最后没有else-block
。
if(..) {
..
} else if(..) {
..
}
在我看来,这不是一种好的风格,因为else-block
在语义上属于if
或if/else-if-blocks
!
否则,例如,在使用枚举的情况下,您必须明确注释else-block
以明确何时执行。
此外,您可以轻松扩展您的枚举等以用于其他用例,而不会默认创建崩溃程序(else-block
默认情况下不会为新添加的值执行。)
所以,现在我已经在其他PRO或CON中使用此样式而不是结尾else-block
。
电贺!
答案 0 :(得分:3)
这不是利弊。这是你需要做的事情。考虑语句“如果值小于0,则使其为0”。执行此操作所需的代码是 -
if (value <0)
value = 0
不需要其他块。
答案 1 :(得分:0)
这是我的意见。
在大多数情况下,您希望在没有if()
的情况下使用else
阻止。有时您需要else
。你很少需要if/else if
。
为什么呢?你自己解释了原因。在枚举的情况下,BTW不应使用if/else
和switch/case
。更好的puttern是为每个枚举成员分别实现业务方法到枚举本身,然后使用它。
通常,如果您想使用if/else
结构,除了工厂多态解决方案更可取。