Early return Pattern(얼리 리턴 패턴)이란?
• 얼리 리턴 패턴이란 말 그대로 빠른 리턴이다.
• 특정 조건에 부합하지 않으면 바로 return을 하도록 하는 패턴이다.
• 코드를 단순하게 만들어주는 패턴이다
• if/else 대신 if/return을 사용한다
• 코드를 읽을 때 return 을 발견하면 아래쪽 코드를 확인하지 않아도 된다
• 가독성이 향상된다
Early return Pattern(얼리 리턴 패턴) 예시
Early Return 패턴을 적용하지 않은 코드 (극단적 if 문)
public String validateUser(String username, String password) {
if (username != null && !username.isEmpty()) {
if (password != null && !password.isEmpty()) {
if (username.equals("admin")) {
if (password.equals("1234")) {
return "환영합니다, 관리자님!";
} else {
return "비밀번호가 틀렸습니다.";
}
} else {
return "잘못된 사용자 이름입니다.";
}
} else {
return "비밀번호를 입력해 주세요.";
}
} else {
return "사용자 이름을 입력해 주세요.";
}
}
Early Return 패턴을 적용한 코드
public String validateUser(String username, String password) {
if (username == null || username.isEmpty()) {
return "사용자 이름을 입력해 주세요.";
}
if (password == null || password.isEmpty()) {
return "비밀번호를 입력해 주세요.";
}
if (!username.equals("admin")) {
return "잘못된 사용자 이름입니다.";
}
if (!password.equals("1234")) {
return "비밀번호가 틀렸습니다.";
}
return "환영합니다, 관리자님!";
}
Early Return을 적용하지 않은 코드
• 조건문이 중첩되어 있어서 각 조건을 만족할 때마다 더 깊게 들어간다 코드가 복잡해지고 가독성이 떨어진다.
• 모든 조건을 만족하지 않으면 다음 조건으로 넘어가는 방식이므로, 코드의 흐름을 이해하기 어렵다
• 중첩된 구조로 인해 새로운 조건을 추가하거나 기존 조건을 수정할 때 실수가 발생하기 쉽다
• 모든 조건이 하나의 중첩된 구조 안에 있으므로 한눈에 모든 조건을 볼 수 있다
• 중첩된 구조 덕분에 조건이 단계적으로 어떻게 흐르는지 명확히 보인다
Early Return을 적용한 코드
• 조건을 일찍 반환하여 중첩된 구조를 피하고, 각 조건이 독립적으로 처리된다. 코드의 가독성을 크게 향상시킨다
• 각 조건이 명확하게 분리되어 있어서 코드의 흐름을 쉽게 이해할 수 있다
• 조건이 독립적이기 때문에 수정이나 추가가 더 쉽고, 실수를 줄일 수 있다
• 반환문이 여러 곳에 있어 함수의 종료 지점을 여러 번 확인해야 한다
• 여러 조건을 연속해서 검사하면 코드가 길어질 수 있다
결론🔥
Early Return 패턴은 코드를 간결하고 명확하게 만들어 주며, 유지 보수와 디버깅에 유리하다.
중첩된 조건문은 한눈에 모든 조건을 볼 수 있지만, 깊어진 중첩은 가독성을 저해하고 유지 보수를 어렵게 할 수 있다.
나는 Early Return 패턴으로 코드를 작성하는 것을 따를 거지만 , 적절히 선택하는 것도 중요하다