목록 보기
잘못 작성된 람다 코드를 삭제하기까지의 여정
백엔드

잘못 작성된 람다 코드를 삭제하기까지의 여정

마켓컬리
마켓컬리
2020년 2월 26일

두줄요약

복잡한 Optional 람다 기반 구독 검증 로직을 의미 있는 메소드와 조건 분리로 리팩토링했습니다.\n코드 길이보다 검증 의도와 흐름을 쉽게 읽을 수 있는 구조의 중요성을 공유합니다.

문제 상황

  • Optional의 map 내부에 구독 서비스 검증 조건을 한꺼번에 배치한 람다 코드
  • 모호한 메소드명과 복잡한 조건식으로 의도 및 흐름 파악이 어려운 가독성 문제

원인 분석

  • 일회성 로직이라는 판단에 따른 람다 식 도입
  • 유효성 검증, 회원 상태, 사용 가능 여부, 만료 여부의 책임 혼재
  • 레거시 여부처럼 실제 검증 목적과 다른 isUsedOldSubscription 명명

해결 방법

  • 실제 역할에 맞춰 메소드명을 isValidSubscription으로 변경
  • 기간·만료일 유효성, 사용 가능 여부, 만료 여부, 회원 상태를 작은 private 메소드로 분리
  • 필드 유효성은 빠른 반환으로 처리하고 나머지 조건은 의미 있는 메소드명으로 조합

적용해볼 점

  • 람다 식 사용 전 일반적인 제어문 구현과 가독성 비교
  • 코드 길이보다 동료가 도메인 지식 없이 읽을 수 있는 검증 흐름 우선

다음 읽기

#Java 주제를 이어서 읽기

잘못 작성된 람다 코드를 삭제하기까지의 여정

복잡한 람다식 기반 구독 검증 로직을 의미 있는 이름과 작은 메서드로 분리했습니다. 가독성이 떨어질 때는 람다식 사용 여부를 비교해 판단해야 합니다.

마켓컬리
마켓컬리
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...