Ho cercato di trovare un modo corretto per rappresentare il flusso di dati sopra (questo è solo un piccolo caso), e non sono sicuro di aver trovato un buon modo per farlo. La nostra attuale implementazione valuta solo tutti i dati precedenti come:
(if user.isMarried && user.age > 23 & ....)
, quindi è molto difficile da mantenere.
Fondamentalmente, ciò di cui ho bisogno è un modo per calcolare il prossimo passo in base all'input corrente e alle condizioni precedenti. Ho pensato a una macchina a stati finiti, ma il mio problema principale è che non dipenderà solo dall'input, ma i dati precedenti hanno già risposto.
Mi è venuto in mente anche usando qualcosa come un albero decisionale, ma non posso rappresentarlo correttamente. Qualsiasi luce sull'argomento sarebbe molto apprezzata.
Nota: verifica che le domande vuote non dipendano dall'input, ma dalle risposte precedenti (sposate o meno).