Bu yüzden birkaç yıldır programlama yapıyorum ve son zamanlarda ReSharper'ı daha fazla kullanmaya başladım. ReSharper'ın bana her zaman önerdiği bir şey "iç içe geçirmeyi azaltmak için" ifadesini "tersine çevirmektir".
Diyelim ki bu kod bende:
foreach (someObject in someObjectList)
{
if(someObject != null)
{
someOtherObject = someObject.SomeProperty;
}
}
Ve ReSharper bunu yapmamı önerecek:
foreach (someObject in someObjectList)
{
if(someObject == null) continue;
someOtherObject = someObject.SomeProperty;
}
ReSharper, HER ZAMAN, ne kadar iç içe geçiyor olursa olsun, IF'leri tersine çevirdiğimi önerecek gibi görünüyor. Bu problem, en azından bazı durumlarda iç içe geçmeyi sevmemdir. Bana göre bazı yerlerde neler olup bittiğini okumak ve anlamak daha kolay görünüyor. Bu her zaman böyle değildir, ancak bazen iç içe geçme konusunda daha rahat hissediyorum.
Sorum şu: kişisel tercih veya okunabilirlik dışında, yuvalamayı azaltmak için bir neden var mı? Performans farkı veya farkında olamayacağım başka bir şey var mı?