[JPA] 친구 신청 리팩토링

김정연·2024년 2월 28일

친구요청

목록 보기
2/2
post-thumbnail

최근에 구현했던 디스코드 백엔드 코드가 가독성이 떨어져 나만 알아볼 수 있는 코드라고 지적을 받았다. 그래서 전반적으로 코드를 수정하고 있는데 가장 문제였던 친구 신청을 기록으로 남기려고 한다.

리팩토링이란 ?

리팩토링은 결과값이 바뀌지 않는 한도 내에서 코드의 구조를 다시 짜는 것이다. 주로 가독성을 높이고 유지보수를 편하게 하기 위한 행위이다.

리팩토링 장점

  1. 유지보수가 간단해진다.
  2. 중복적인 코드를 제거한다.
  3. 직관성 있는 네이밍

즉 코드의 구조를 개선하는 동시에 기능을 보존한다고 생각하면 된다. 실제로 해보니까 코드가 중복되는 코드를 제거하니 깔끔해지고 메서드와 컬럼 이름도 직관적으로 싹 바꿨다!

변경 전

기존 친구 신청 코드는 코드 한줄 한줄 비용이 높은? 느낌이였다. 빌더도 두개나 들어갔고, 메서드 이름도 친구 신청을 받은건지 보낸건지 한번에 확인이 안되는 코드였다.

변경 후

그래서 코드를 쪼개고 여러개였던 조건도 갯수를 줄여줬다. 사실 받은 유저와 보낸 유저도 굳이 찾아야하나? 싶다... 친구요청을 보내려면 search로 미리 찾으니까... 아마 지우게 될 것 같다.

중복체크

요청 여부

만약 요청을 받았다면 친구 수락, 요청을 받지 않았다면 친구 요청을 보내는 코드이다.
제일 헷갈렸던 부분은 지난번과 마찬가지로 친구 수락할 때 받았던 요청을 삭제하는 것이다.
확실히 체크하기 위해 받은 요청에서 pk를 조회해 삭제하게 구현했다.

😎 user 패키지는 다 끝냈고 이제 friend 패키지를 막 시작했는데,, 빨리 끝내고 채팅을 구현해야겠다.
이번 리팩토링으로 가독성에 대해 한번 더 깨달았다!

profile
백엔드 개발자

0개의 댓글