Ho un metodo piuttosto complesso che può essere chiamato in due possibili "scenari". Uno è un caso speciale dell'altro in cui tutti i loop foreach
nidificati vengono eseguiti solo una volta e diverse istruzioni if
sono false in modo tale che essenzialmente solo due righe di codice annidate profondamente all'interno del metodo siano effettivamente eseguite.
Ora la domanda è: dovrei fornire un percorso di codice separato (più semplice) per il caso speciale anche se il codice complesso lo gestisce altrettanto bene?
Suppongo che il codice sia più leggibile / comprensibile in questo modo ma non voglio dare l'impressione che i due casi siano gestiti in modo diverso.
Le prestazioni non sono un problema qui, quindi il fatto che un percorso di codice più semplice possa essere eseguito più velocemente è trascurabile.
Codice di esempio:
foreach(...)
{
foreach(...)
{
...
if(...)
{
...
}
Something();
}
}
rispetto a
if(SpecialCase)
{
Something();
}
else
{
foreach(...)
{
foreach(...)
{
...
if(...)
{
...
}
Something();
}
}
}