그래서 저는 몇 년 동안 프로그래밍을 해왔으며 최근에는 ReSharper를 더 많이 사용하기 시작했습니다. ReSharper가 항상 나에게 제안하는 한 가지는 "네 스팅을 줄이기 위해 'if'문을 뒤집는 것"입니다.
이 코드가 있다고 가정 해 봅시다.
foreach (someObject in someObjectList)
{
if(someObject != null)
{
someOtherObject = someObject.SomeProperty;
}
}
그리고 ReSharper는 다음과 같이 제안합니다.
foreach (someObject in someObjectList)
{
if(someObject == null) continue;
someOtherObject = someObject.SomeProperty;
}
ReSharper는 중첩이 얼마나 진행 되더라도 항상 IF를 반전시킬 것을 제안합니다. 이 문제는 적어도 어떤 상황에서는 중첩과 같은 것입니다. 나에게 특정 장소에서 무슨 일이 일어나고 있는지 읽고 이해하기가 더 쉬워 보인다. 항상 그런 것은 아니지만, 때때로 더 편하게 둥지를 틀 수 있습니다.
내 질문은 : 개인적인 취향이나 가독성 이외의, 중첩을 줄이는 이유가 있습니까? 성능 차이 또는 내가 모르는 다른 것이 있습니까?