Ich muss Berichte basierend auf den Benutzereingaben erstellen. Benutzer beantworten eine Frage, und dann abhängig von der Antwort gehe ich links oder rechts in einer baumartigen Struktur und stelle eine neue Frage. Einige Knoten haben die gleiche Frage, aber unterschiedliche Kinder. Ich bin nicht sicher, was wäre der beste Weg, dies in Bezug auf die Lesbarkeit des Codes zu tun?Optimierung der baumartigen Kontrollstruktur
Ich mag würde große Steuerstruktur zu vermeiden, da es extrem unleserlich sein würde, wie folgt aus:
if() {
if() {
if() {
if() {
...
}
}
else {
if() {
...
}
}
}
else {
...
}
}
else {
if() {
if() {
if() {
...
}
}
else {
if() {
...
}
}
}
}
Gibt es einen besseren Weg, damit umzugehen? Hier ist ein Bild, wie mein Baum sieht aus wie
Ich denke, dass es nicht mehr optimiert werden kann, weil Kontrollstruktur der grundlegende Teil einer Sprache ist, wenn Ihre Logik sehr kompliziert ist, dann muss Ihr Programm auch kompliziert sein. Sie können jedoch die Elternkonditionen mit den Nachkommenkonditionen kombinieren, indem Sie '&&' verwenden, um die Kontrollstruktur 'plainer' zu machen, zB'if (COND1 && COND2) {} if (COND1 && COND3) {} ... 'also wird es weniger geben Verschachtelung – LotusH