Więc programuję od kilku lat, a ostatnio zacząłem używać ReSharpera więcej. Jedną z rzeczy, które ReSharper zawsze mi sugeruje, jest „odwrócenie” instrukcji „if” w celu zmniejszenia zagnieżdżania ”.
Powiedzmy, że mam ten kod:
foreach (someObject in someObjectList)
{
if(someObject != null)
{
someOtherObject = someObject.SomeProperty;
}
}
A ReSharper zasugeruje, żebym to zrobił:
foreach (someObject in someObjectList)
{
if(someObject == null) continue;
someOtherObject = someObject.SomeProperty;
}
Wygląda na to, że ReSharper ZAWSZE sugeruje, że odwrócę IF, bez względu na to, jak dużo się dzieje. Problem polega na tym, że lubię zagnieżdżanie się w przynajmniej NIEKTÓRYCH sytuacjach. Wydaje mi się, że łatwiej jest przeczytać i dowiedzieć się, co się dzieje w niektórych miejscach. Nie zawsze tak jest, ale czasami czuję się bardziej komfortowo w gniazdowaniu.
Moje pytanie brzmi: oprócz osobistych preferencji lub czytelności, czy istnieje powód, aby ograniczyć zagnieżdżanie? Czy istnieje różnica w wydajności lub coś innego, czego mogę nie być świadomy?