PAWPAW - Refactoring 1

subimm_·2023년 3월 23일
0

코드스테이츠

목록 보기
83/83

메인 프로젝트가 끝나고 우리팀은 팀원들끼리 합의해서 프로젝트를 리팩토링 하기로 했다!
일단 우선순위를 정하여 노션에 정리하고 천천히 리팩토링을 하기로해서 1차 리팩토링은 끝이 났다.
내가 한 리팩토링 부분을 기록해보려고 한다.

🛠 Refactoring

우선순위

  • 코드 정리

    • 의존관계 정리, 상수로 뺄 것들 정리, S3 예외 처리 수정
    • 관리자 승인 요청 로직 수정
    • 게스트계정 탈퇴 방지
  • 회원 삭제 -> 회원 상태 변경 (상태로 회원 관리하기)

  • 게시글 검색 기능 / 정렬 추가

  • 친구 추천 기능 추가


📜 코드 정리

일단 각자의 코드를 조금 정리 해보는 것을 첫번째로 잡았다.

  • 회원가입 시 ID 영문, 숫자 검증 추가

  • 관리자 요청 토큰 재발급 로직 수정 (authService를 의존하도록)

  • addressRespository -> addressService 주입

  • 상수로 관리

  • S3부분에서 예외처리가 되어 있어서 s3Service를 사용하는 모든 메서드에 예외처리 -> 수정

  • 게스트 계정 탈퇴 방지 추가 (편의를 위해 게스트 계정으로 로그인이 가능)


📜 회원 상태 변경

다음으로는 내가 맡은 회원 부분을 리팩토링 하였다.

  • 문제점
    • 회원 삭제 시 아예 데이터를 바로 날려버리게 구현했었다.
    • 실제 서비스 시 회원을 바로 삭제하는것이 아니라 회원 상태를 변경하여 데이터를 유지
    • 실수 방지 / 재가입 / 블랙 유저 거르기 / 회원에 묶여있는 게시글 등 연관된 문제

  • 해결
    • 회원 상태를 ACTIVE / SLEEP 으로 나누어 활동 회원과 탈퇴 회원을 구분
    • 회원 탈퇴 시 데이터를 삭제하는 것이 아니라 회원 상태만 변경
  • PetStatus 추가

  • 회원 탈퇴 시 상태 변경
    • 연관된 문제 📌
      탈퇴한 회원의 프로필 이미지를 삭제하나 아예 회원이 삭제된 것이 아니기 때문에 회원 프로필 이미지를 펫 상태에 맞게 DOG / CAT 의 Default 이미지로 변경해주는 로직 추가
    • 로직을 수정하면서 코드 리팩토링 (팀원분이 중복된 로직 메서드로 빼는것을 추천)



  • 응답에 PetStatus 추가 (탈퇴한 회원 표시해주기 위해)

    • 탈퇴한 회원 로그인 시 예외 처리
      PetAuthenticationFailureHandler 에 로직 수정

      petDetailsService 에 계정 활성화 여부 리턴에 로직 추가하여 PET_ACTIVE가 아니면 false

⚒ 추가

현재는 그냥 회원 상태만 변경하여 데이터를 그대로 보유하고 있는데 스케쥴러를 사용하여 일정 기간이 지나면 회원 데이터가 삭제되도록 로직을 구현해봐야겠다😂

profile
코린이의 공부 일지

0개의 댓글