我发现自己经常使用这样的模式:
if (a > b) {
foo();
}
elseif (c > d) {
bar();
}
else {
baz();
}
这里的要点是第二个条件与第一个条件没有明显联系,除非您仔细遵循程序逻辑。这是一件非常糟糕的事情吗?是否最好将上述表述为
if (a > b) {
foo();
}
else {
if (c > d) {
bar();
}
else {
baz();
}
}
出于可维护性的原因?有没有更好的模式我完全错过了?“不明显连接”位似乎是我的代码中更常见的错误来源之一。