私は、次のようなパターンをよく使用しています。
if (a > b) {
foo();
}
elseif (c > d) {
bar();
}
else {
baz();
}
ここでのポイントは、プログラム ロジックに注意深く従わない限り、2 番目の条件が最初の条件に明らかに関連していないということです。これは非常に悪いことですか?上記を次のように表現した方がよいでしょうか。
if (a > b) {
foo();
}
else {
if (c > d) {
bar();
}
else {
baz();
}
}
保守性の理由から?私が完全に見逃しているより良いパターンはありますか? 「明らかに接続されていない」ビットは、私のコードのバグのより一般的な原因の 1 つです。