Muszę tworzyć raporty na podstawie danych wprowadzanych przez użytkownika. Użytkownik odpowiada na pytanie, a następnie, w zależności od odpowiedzi, podążam w prawo lub w lewo w strukturze przypominającej prążek i pytam o nowe pytanie. Niektóre węzły będą miały to samo pytanie, ale inne dzieci. Nie jestem pewien, jaki byłby najlepszy sposób, aby to zrobić w zakresie czytelności kodu?Optymalizowanie struktury kontrolnej w oparciu o prążki
Chciałbym uniknąć ogromną strukturę kontroli, ponieważ byłoby to bardzo nieczytelny, tak:
if() {
if() {
if() {
if() {
...
}
}
else {
if() {
...
}
}
}
else {
...
}
}
else {
if() {
if() {
if() {
...
}
}
else {
if() {
...
}
}
}
}
Czy jest jakiś lepszy sposób, aby sobie z tym poradzić? Oto obraz, jak moje drzewo wygląda
Myślę, że nie można już zoptymalizować, ponieważ struktura kontroli jest bardzo podstawową częścią języka, jeśli twoja logika jest bardzo skomplikowana, to twój program również musi być skomplikowany. Możesz jednak łączyć warunki rodzicielskie z warunkami potomnymi, używając '&&', aby struktura kontrolna była "jaśniejsza", np. 'If (COND1 && COND2) {} jeśli (COND1 && COND3) {} ...' w ten sposób będzie mniej Nesting – LotusH