Files
sodalive-backend-spring-boot/docs/20260220_삭제닉네임접두사표시정리.md

2.1 KiB

20260220 삭제 닉네임 접두사 표시 정리

구현 계획

  • 콘텐츠 댓글, 팬톡 응원, 커뮤니티 댓글의 닉네임 표시 흐름(조회/매핑/응답 DTO)을 각각 식별한다.
  • 닉네임이 deleted_로 시작하는지 판별하고 표시 시 접두사만 제거하는 공통 처리 지점을 설계한다.
  • 콘텐츠 댓글 표시 로직에 deleted_ 접두사 제거 규칙을 적용한다.
  • 팬톡 응원 표시 로직에 deleted_ 접두사 제거 규칙을 적용한다.
  • 커뮤니티 댓글 표시 로직에 deleted_ 접두사 제거 규칙을 적용한다.
  • deleted_ 미포함 닉네임, deleted_ 포함 닉네임, 접두사만 존재하는 경계 케이스를 기준으로 테스트 케이스를 추가/보강한다.

검증 계획

  • 닉네임 표시에 영향이 있는 테스트를 우선 실행하고 실패 시 원인을 보정한다.
  • ./gradlew test를 실행해 회귀 여부를 확인한다.
  • 필요 시 ./gradlew ktlintCheck로 스타일 규칙 위반 여부를 확인한다.
  • ./gradlew build를 실행해 전체 빌드 성공을 확인한다.

검증 기록

  • 작업 완료 후 검증 결과를 기록한다.

  • 무엇을: String.removeDeletedNicknamePrefix() 공통 확장 함수를 추가하고, 콘텐츠 댓글(AudioContentCommentRepository), 팬톡 응원(ExplorerQueryRepository#getCheersList), 커뮤니티 댓글(CreatorCommunityCommentRepository) 응답 닉네임에 동일 규칙을 적용했다.

  • 왜: 탈퇴/비활성 사용자 닉네임 저장 정책(deleted_ 접두사 유지)과 화면 표시 정책(접두사 제거)을 분리해, 사용자에게는 일관된 표시값을 제공하기 위해서다.

  • 어떻게 검증했는지: ./gradlew test --tests "kr.co.vividnext.sodalive.extensions.StringExtensionsTest", ./gradlew test, ./gradlew ktlintCheck, ./gradlew build를 실행해 모두 BUILD SUCCESSFUL을 확인했다. 또한 경계 케이스(deleted_testUser, testUser, deleted_) 단위 테스트를 추가해 기대 출력이 각각 testUser, testUser, ""인지 검증했다.