Quindi, se ho una grande funzione, la suddivido in quelle più piccole per aumentare la leggibilità.
Se ho parti nella mia grande funzione in cui voglio che ritorni. Voglio che le mie sottofunzioni abbiano la possibilità di terminare anche la funzione principale, se una condizione è vera nella sottofunzione. Qual è l'approccio migliore per questo?
Rendere le sottofunzioni restituire una variabile bool sembra disordinata con i troppi ifs nella funzione principale.
OriginalFunction
void MainFunction()
{
//DoStuff1
....
....
if(condition1)
return;
//DoStuff2
....
....
if(condition1)
return;
//DoStuff3
....
....
if(condition1)
return;
//DoStuff4
....
....
if(condition1)
return;
}
Funzione modificata
void MainFunctionModified()
{
if(DoStuff1())
return;
if(DoStuff2())
return;
if(DoStuff3())
return;
if(DoStuff4())
return;
}
bool DoStuff1()
{
....
....
if(condition1)
return true;
return false;
}