Quindi sto programmando da alcuni anni e recentemente ho iniziato a utilizzare ReSharper di più. Una cosa che ReSharper mi suggerisce sempre è di "invertire" l'istruzione if per ridurre l'annidamento ".
Diciamo che ho questo codice:
foreach (someObject in someObjectList)
{
if(someObject != null)
{
someOtherObject = someObject.SomeProperty;
}
}
E ReSharper mi suggerirà di fare questo:
foreach (someObject in someObjectList)
{
if(someObject == null) continue;
someOtherObject = someObject.SomeProperty;
}
Sembra che ReSharper suggerirà SEMPRE di invertire i parametri IF, indipendentemente dalla quantità di annidamento in corso. Questo problema è che mi piace annidare in almeno alcune situazioni. A me sembra più facile leggere e capire cosa sta succedendo in certi luoghi. Questo non è sempre il caso, ma a volte mi sento più a mio agio a nidificare.
La mia domanda è: oltre alle preferenze personali o alla leggibilità, c'è un motivo per ridurre la nidificazione? C'è una differenza di prestazione o qualcos'altro di cui potrei non essere a conoscenza?