Skip to content

Conversation

@s0nnyday
Copy link
Contributor

@s0nnyday s0nnyday commented Aug 17, 2024

요약

코드 가독성 개선을 목표로 한 리팩토링 작업입니다. 트랜잭션 관리, 하드코딩된 값을 상수화하고, 로그 메시지의 일관성을 유지하여 유지보수성을 향상시켰습니다.

작업 내용

  • 하드코딩된 값을 상수화
  • 트랜잭션 관리를 클래스 레벨이서 read-only 처리하고 메서드마다 필요 시 @transactional 사용하여, 실수 방지. 코드 스타일 통일
  • 로그 메시지 개선
  • application.yml 설정 활용하는 방법 @value@ConfigurationProperties 사용 두 가지로 분리

참고 사항

이번 리팩토링 작업은 코드의 기능적 변경이 아닌, 코드 품질을 개선하기 위한 작업입니다. 따라서 기존 기능에는 영향을 미치지 않습니다.

관련 이슈

  • Close #이슈번호

- 하드코딩된 값을 상수화
- 트랜잭션 관리를 클래스 레벨이서 read-only 처리하고 메서드마다 필요 시 @transactional 사용하여, 실수 방지. 코드 스타일 통일
- 로그 메시지 개선
@s0nnyday s0nnyday requested a review from ubeuu August 17, 2024 14:30
@s0nnyday s0nnyday self-assigned this Aug 17, 2024
- @ConfigurationProperties를 사용하여 외부 설정 파일의 값을 자동으로 주입받기 위해 CrawlerProperties 클래스에 @Setter를 추가했습니다.
- 설정 클래스는 상태 변경에 따른 위험이 적어, 이 경우 @Setter를 사용하는 것으로 하였습니다.
- 해당 부분에서 @Setter 빼야한다거나 사용 안하는 방법을 공부하면다시 적용하겠습니다.
- CrawlerProperties 클래스를 제거하고 CrawlerConfig 클래스를 도입하여 크롬 드라이버 경로를 관리하도록 변경.
- NikeWebCrawler와 KasinaWebCrawler 클래스에서 CrawlerConfig를 사용하여 크롬 드라이버 경로를 주입받도록 수정.
- 설정값이 1개 뿐이니 불필요한 @ConfigurationProperties를 제거하고 단순하게 @value를 활용한 설정 관리 방식으로 전환.
- KakaoConfig와 AppleConfig 클래스를 추가하여 카카오 및 애플 관련 설정을 @ConfigurationProperties로 관리하도록 변경
- UserService에서 @value로 주입받던 설정 값을 KakaoConfig와 AppleConfig 클래스로 대체
- 설정 값들을 한 곳에서 관리하여 유지보수성과 코드 가독성 향상
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants