개발/리팩토링2 일급 컬렉션 (First-Class Collection)으로 코드 품질 향상 도전하기 문제 상황제가 느낀 문제는 다음과 같았습니다:서로 다른 도메인이 같은 컬렉션 타입을 사용하고 있어, 구분하기 어렵다같은 컬렉션 타입의 비즈니스 로직들이 서비스 레이어에 흩어져 있어서 관리가 어렵고 직관적으로 이해하기 어렵다예를 들면, 두 개의 도메인이 같은 Map(적절한 예시인지는 모르겠지만..) 타입을 사용하고 있었던 겁니다.서비스 레이어에서 이 타입의 변수를 만들고 수정하는 작업을 하는데, 이게 어떤 도메인과 관련된 코드인지 구분하기가 어려웠어요.심지어 제가 직접 작성한 코드인데도 다시 보면 이해하는데 시간이 걸렸기에..나도 보기 힘든데, 다른 사람은 더 힘들겠다는 생각에 개선하기로 마음먹었습니다..! 개선 방법일급 컬렉션 도입제가 시도한 개선은 일급 컬렉션을 도입하는 것이었습니다. 같은 타입을 사용.. 2025. 4. 23. 엔티티 조회 대신 존재 여부만 확인하기 특정 조건의 데이터가 DB 에 존재하는지 알기 위해선 직접 엔티티를 조회해서 그 값을 확인해볼수있고, 존재하는지만 체크할 수 있습니다.DB에 존재하는지만 알고 싶은데 굳이 엔티티를 조회해와야하나? 싶은 마음에 DB에 존재하는지만 체크해보기로 했습니다.리팩토링 전기존에는 알림의 존재 여부를 확인할 때 엔티티를 조회하고 있었습니다:@Query(value = """ SELECT * FROM notification WHERE type = :type AND user_id = :userId AND is_active = true AND created_at >= :timeLimit ORDER BY id DESC LIMIT 1""", nativeQuery = true.. 2025. 3. 7. 이전 1 다음