Early return(얼리 리턴)은 프로그래밍에서 조건을 미리 만족하는 경우
함수나 메서드 실행을 중간에 중단하고 값을 반환하는 프로그래밍 기법을 의미한다.
코드의 가독성을 높이고, 불필요한 연산을 방지하는 장점이 있긴한데
일단 예시 코드를 보자.
public static bool CheckFunction(int value)
{
if(value > 0)
{
if(value > 5)
{
if(value < 10)
{
return false;
}
}
else
{
//todo value...
}
}
return true;
}
이런 코드가 있다고 하면
CheckFunction의 함수는 return false를 리턴하기 위해선
3번의 if문을 검사해야한다.
이를 Early Return 형식의 코드로 수정하게 되면
public static bool CheckFunction(int value)
{
if (value <= 0)
{
return true;
}
if (value > 5 && value < 10)
{
return false;
}
//todo value...
return true;
}
(예시 코드일뿐...)
if문 내에 if문을 또 추가하지않고 (들여쓰기를 하지 않음)
if문의 조건 하나로 return을 발생 시킬 수 있도록 간결하고 읽기 쉽게 만들어준다.
또한 유효하지 않은 경우를 먼저 처리하여 해당 함수가 무엇을 하려는지에 대한 내용을 집중할 수 있게 만들어준다.
하지만 Early Return 방식이 무조건 옳다 라고 말할 수 없는 이유가 있다.
public static bool CheckFunction(int value)
{
if (value == 0)
return false;
if (value == 1)
return false;
if (value == 2)
return false;
if (value == 3)
return false;
if (value == 4)
return false;
if (value == 5)
return false;
//todo value...
return true;
}
(말도 안되는 if문의 조건들이지만 예시코드이기에 넘어가자)
위의 예시코드 처럼 Ealry Return의 Return 케이스가 많아진다면 오히려 코드의 가독성을 떨어뜨릴 가능성이 생긴다.
정리해서
Early Return 코드의 장단점
장점
- 조건 검사와 오류 처리를 함수나 메서드의 상단에 배치할 수 있으므로, 코드의 가독성이 향상된다.
- 함수가 빠르게 종료되는 경우에도 중요한 로직이 함수 상단에 명확하게 표시된다.
- 조건을 만족하지 않는 경우, 함수는 추가 연산을 수행하지 않고 즉시 종료됨으로 불필요한 연산을 피할 수 있다.
단점
- Early return을 과도하게 사용하면 코드의 가독성을 떨어뜨릴 수 있다.
- 과도하게 사용하면 코드가 복잡해질 수 있으며, 각 조건을 이해하고 관리하기 어려워질 수 있다.
따라서 Early return은 코드의 가독성과 유지 보수성을 향상시키며,
오류 처리와 성능 개선에 도움을 주지만,
적절하게 사용해야 하며 과도하게 사용하지 않도록 주의해야 한다.
'프로그래밍 > ETC' 카테고리의 다른 글
C# Winform vs WPF (0) | 2024.05.13 |
---|---|
다양한 충돌 체크 방법 (1) | 2023.11.15 |
도트를 더욱 이쁘게? XBR Shader 소개합니다 (0) | 2023.09.18 |
IntelliJ - Grep Console 을 소개합니다 (0) | 2023.09.01 |
SDK와 API의 차이는 무엇인가요? (0) | 2022.08.21 |