Attualmente sto costruendo un pezzo di codice che crea effetti collaterali basati sui parametri di input. Ha circa dieci parametri di input e circa sei effetti collaterali disponibili. Sulla base dei parametri di input, gli effetti collaterali scelti - uno o più - differiscono.
Ho iniziato a sviluppare questo test del codice prima con un framework contesto / specifiche, perché ogni parametro di input è fondamentalmente un contesto.
Il codice risultante finora è una struttura if-else profondamente annidata.
Fino ad ora ho implementato circa il 30% e il codice - e anche i test ancora di più - stanno diventando molto complessi, ingombranti e difficili da capire. Tanto che dubito che questo sia l'approccio corretto.
Il problema principale sono in realtà i test, perché continuo a ripetere le condizioni per alcuni dei parametri di input nidificati più profondi, nonché per gli effetti collaterali che ne derivano.
Esistono modelli di progettazione per costruire e testare questo tipo di "grafico decisionale"?
Si noti che i parametri di input non sono valori fissi. Gran parte della logica è relativ, cioè se il parametro di input 1 è inferiore al parametro di input 2.
L'output corrente dei miei test può essere visto qui: link
Puoi vedere che c'è molta ripetizione, rendendo difficile ragionare su ciò che effettivamente fa.