Я очень часто использую такой шаблон:
if (a > b) {
foo();
}
elseif (c > d) {
bar();
}
else {
baz();
}
Смысл в том, что второе условие явно не связано с первым, если вы не будете тщательно следовать логике программы. Это очень плохо? Было бы предпочтительнее сформулировать вышесказанное как
if (a > b) {
foo();
}
else {
if (c > d) {
bar();
}
else {
baz();
}
}
по причинам ремонтопригодности? Есть ли лучший шаблон, который я пропускаю полностью? Похоже, что бит «явно не связан» является одним из наиболее распространенных источников ошибок в моем коде.