코드 중복 최소화: 예외 처리를 위한 공통 함수 구현

Younghwan Cha·2024년 1월 4일
0

cleanCode

목록 보기
6/7

다음과 같은 코드를 보자

if (!user) {
	throw new NotFoundException('user not found')
}

이러한 코드들은 생각보다 굉장히 많이 나오게 된다. 서비스 로직상 당연히 들어가야하지만, 이러한 코드들을 작성하는 것은 우리들에게 피곤함을 준다.( 귀찮다 )
그래서 아래와 같은 예외 처리를 위한 공통 함수 구현을 생각 해보았다.

export const notFoundFilter = (target: any) => {
  if (!target) {
    throw new NotFoundException('Target not found');
  } else {
    return target;
  }
};

별것 아니지만, 꽤나 유용하게 사용이 가능할 법 하다. 하지만 늘 개선의 여지는 있는 법. 아래와 같이 사용한다면 type 측면에서도 정확성을 더할 수 있다.

export function verifyExistence<T>(target: T, errorMessage: string = 'Target not found'): T {
  if (target === null || target === undefined) {
    throw new NotFoundException(errorMessage);
  }
  return target;
}
profile
개발 기록

0개의 댓글