Skip to content

[REFACTOR] SonarCloud 정적 분석 이슈 해결 및 코드 품질 개선 (trip, diary 도메인) #64

@zzmnxn

Description

@zzmnxn

개요

SonarCloud 정적 분석 결과 발견된 33개의 이슈 중, 서비스 안정성과 유지보수성에 큰 영향을 미치는 3가지 핵심 사안을 우선적으로 리팩토링.

주요 리팩토링 항목

1. @Transactional 내부 호출(Self-Invocation) 문제 해결

  • 문제: TripService 등에서 @Transactional 메서드를 this를 통해 내부 호출하고 있음. 이 경우 Spring Proxy가 개입하지 못해 트랜잭션이 적용되지 않음.
  • 해결: 로직을 별도 서비스로 분리하거나 호출 구조를 개선하여 프록시 메커니즘이 정상 작동하도록 수정.

2. 로깅 시스템 표준화 (System.out → SLF4J/Lombok)

  • 문제: 현재 System.out, System.err 및 주석 처리된 출력문이 다수 존재. 이는 서버 성능 저하를 유발하고 로그 관리를 불가능하게 함.
  • 해결:
  • Lombok의 @Slf4j 도입
  • log.info(), log.error() 등 적절한 로그 레벨 적용
  • 불필요한 주석 처리된 출력문 삭제

3. 데이터 초기화 로직 개선 및 정규표현식 최적화 (별도의 이슈 및 브랜치에서 작업 예정)

  • 문제: 코드 내 데이터 초기화 시 사용되는 정규표현식에 중복된 패턴이 존재하여 성능 저하 및 논리적 오류 가능성이 있음.
  • 해결:
  • 기존 코드 기반의 Data Initialization 로직을 DB Migration(Flyway 또는 SQL script) 단계로 이관.
  • 이관 과정에서 비효율적인 정규표현식 패턴 수정 및 최적화.

작업 체크리스트 (TODO)

  • [Phase 1] TripService 트랜잭션 호출 구조 분석 및 수정
  • [Phase 2] 전역 프로젝트 내 System.out 검색 및 log.info 등으로 교체
  • [Phase 3] 리팩토링 후 SonarCloud 재검토 및 기능 테스트 수행

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions