If의 중첩이 쌓이면 쌓일수록
가독성이 떨어진다
이를 해결하기 위해서는
Early-Return을 사용하는 것이 좋다
https://motivelessstudy.tistory.com/317
또한, 다른 방법으로는
do while(false) 문을 활용하는 방법과 check, ensure 등을 활용하는 방법이 있다
- do while(false)문
do
{
if (조건1)
{
break;
}
if (조건2)
{
break;
}
if (조건3)
{
break;
}
...
} while (false)
- check, ensure
다만, 해당 조건을 통과하지 못하면
Assert가 걸리기 때문에
반드시 예외가 없어야 하는 경우에서만 사용해야 한다
// 언리얼에서 일반적인 방식
MyGameMode* MyMode = Cast<MyGameMode>(UGameplayStatics::GetGameMode(GetWorld()));
if(IsValid(MyMode))
{
...
}
// ensureMsgf를 통해 if문 생략
ensureMsgf(GGameMode, TEXT("Unexpected null game mode! (SomeState: %d)"), SomeState))
...
'C++ > [노코프] Tips' 카테고리의 다른 글
[C++ Tips] Data oriented Programming (0) | 2024.04.08 |
---|---|
[C++ Tips] Early Return (0) | 2024.04.08 |
[C++ Tips] Function Overloading (0) | 2024.04.08 |
[C++ Tips] 싱글톤 (0) | 2024.04.07 |
[C++ Tips] static (0) | 2024.04.07 |