Devo creare report in base all'input dell'utente. L'utente risponde a una domanda, quindi, a seconda della risposta, vado a sinistra o a destra in una struttura simile a un albero e faccio una nuova domanda. Alcuni nodi avranno la stessa domanda, ma diversi bambini. Non sono sicuro quale sarebbe il modo migliore per farlo in termini di leggibilità del codice?Ottimizzazione della struttura di controllo del treelike
Vorrei evitare di enorme struttura di controllo, come sarebbe estremamente leggibile, in questo modo:
if() {
if() {
if() {
if() {
...
}
}
else {
if() {
...
}
}
}
else {
...
}
}
else {
if() {
if() {
if() {
...
}
}
else {
if() {
...
}
}
}
}
C'è qualche modo migliore per trattare con esso? Ecco un'immagine di come il mio albero assomiglia
Penso che non possa essere più ottimizzato perché la struttura di controllo è la parte basilare di un linguaggio, se la tua logica è molto complicata allora anche il tuo programma deve essere complicato. Tuttavia puoi combinare le condizioni genitore con le condizioni discendenti usando '&&' per rendere la struttura di controllo 'più semplice', ad esempio '(COND1 && COND2) {} if (COND1 && COND3) {} ...' quindi ci saranno meno nidificazione – LotusH