Switch-Case-Anweisungen sind gut, verschachtelte if-Anweisungen zu ersetzen, wenn wir die gleiche Bedingung, aber unterschiedliche Kriterien haben. Aber was ist ein guter Ansatz, wenn diese verschachtelten if-Anweisungen alle unterschiedliche und einzigartige Bedingungen haben? Habe ich alternative Optionen, um ein Dutzend if else-Anweisungen zu ersetzen, die ineinander verschachtelt sind?Ersetzen von If Else eindeutige bedingte geschachtelte Anweisungen
Beispielcode:
- Hinweis: Ich weiß, das extrem unleserlich ist - was der Sinn ist.
- Hinweis: Alle Bedingungen sind einzigartig.
...
if (condition) {
// do A
} else {
if (condition) {
// do B
if (condition) {
if (condition) {
if (condition) {
// do C
if (condition) {
// do D
if (condition) {
// do E
} else {
if (condition) {
// do F
}
}
}
}
if (condition) {
// do G
if (condition) {
// do H
if (condition) {
// do I
} else {
// do J
}
}
}
}
}
}
Wenn Sie in dieser Situation sind, sind die Chancen, dass Ihr Design schrecklich fehlerhaft ist. –
Wie Jordan Kaye sagt + Wenn Sie wirklich solche komplexen Bedingungen haben, wenn-sonst wird der einfachste Weg sein, dies zu tun –
Ich stimme Herrn Kaye. Es gibt ein paar richtige Antworten darauf, je nachdem, was die Bedingung ist, das ist jedoch keiner von ihnen. Es ist ein Fehlerfest, versuche einen Einheitentest dafür zu schreiben, es könnte ein paar Dinge vorschlagen. –