STUDY/C++

[C++] 얼리 리턴?

bconfiden2 2020. 7. 10. 19:19

얼리 리턴은 말 그대로 일찍 return 한다는 것이다.

 

보통 return 은 함수를 종료하고 반환할 때 사용되는 예약어인데,

여러 조건을 검사할 때 조건이 부합하지 않으면 곧바로 return 을 넣는 패턴이다.

그렇게 함으로써 좀 더 간결하고, 가독성이 좋은 코드가 될 수 있다.

 

예시를 보는 것이 좀 더 깔끔한데,

아래가 일반적인 코드의 경우이다.

void function(int temp)
{
    if(temp > 0)
    {
        if(temp < 10)
        {
            if(temp % 7 == 0)
            {
                std::cout << "temp == 7" << std::endl; 
            }
        }
    }
}

 

이를 얼리 리턴 스타일로 짜보자면,

void function(int temp)
{
    if(temp <= 0)
    {
        return;
    }
    if(temp >= 10)
    {
        return;
    }
    if(temp % 7 != 0)
    {
        return;
    }
    std::cout << "temp == 7" << std::endl;
}

조건에 부합하지 않는 코드들을 먼저 검사해주고 그 이후 함수 내용을 작성하여

복잡한 if 문들 대신 간결한 코드 스타일을 유지해줄 수 있다.

GPU 프로그래밍에서 쓰레드를 작업에서 없애주기 위해서, 반 필수적으로 사용되는 패턴이라고 한다.