조기 반환, 무조건 옳을까? 에지 케이스 처리 전략!

by DD
6개월 전
조회수 0

조기 반환은 코드 흐름을 명확하게 하지만, 에러 케이스정상 케이스 통합을 고려해야 함

빈 컬렉션 처리null 처리 시 조기 반환 대신 세이프 콜 연산자 활용

flatMap을 활용하여 예외 처리정상 흐름에 통합하여 코드 가독성 향상

조기 반환, 언제 써야 할까?

조기 반환은 코드의 가독성을 높이지만, 무분별한 사용은 오히려 코드를 복잡하게 만들 수 있다. 에러 케이스정상 케이스의 처리 로직이 유사하다면, 조기 반환 대신 통합하여 코드를 간결하게 유지하는 것이 좋다. 따라서, 코드의 흐름을 파악하고 적절한 방법을 선택해야 한다.

null 안전성 확보 전략

언어별로 제공되는 세이프 콜 연산자를 활용하면 null을 정상 케이스로 처리하여 조기 반환을 피할 수 있다. 엘비스 연산자 또는 null 결합 연산자를 사용하여 기본값을 설정하는 방법도 있다. getOrNull과 같은 함수를 사용하여 범위 밖의 인덱스 접근을 안전하게 처리하는 것도 중요하다.

flatMap을 활용한 예외 처리

flatMap을 사용하면 예외 처리정상적인 코드 흐름에 통합하여 가독성을 높일 수 있다. FooResult와 같은 sealed class를 활용하여 예외 상황을 명시적으로 표현하고, getSomeData와 같은 보조 함수를 통해 예외를 FooResult.Error로 변환한다. 결과적으로, 코드의 유지보수성을 향상시킬 수 있다.

코드 품질 개선 기법 23편: 반환의 끝이 에지 케이스의 끝