내일배움캠프/TIL

[Spring_4기 본캠프] Spring 심화 - 일정관리 앱 개선하기, 리팩토링 | Day 53

austindynasty 2024. 12. 31. 13:49

1. 필수 기능 가이드 ( 일정관리 앱 develop ver. 이용 )

 

1) 유효성 검사 추가 : 입력 값에 대한 유효성 검사를 추가하여 정책에 맞는 데이터만 취합

2) 예외 처리 강화 : 적절한 예외 처리 로직을 추가하여 오류 발생 시 사용자에게 명확한 피드백 제공

3) 서비스의 도메인 로직을 엔티티에 위임하기 

 

2. 도전 기능 가이드 ( 지급된 코드 이용 )

 

1) 추가 기능 개선

- 조건에 맞지 않는 경우 즉시 리턴하여, 불필요한 로직의 실행을 방지하고 성능을 향상시킨다. 

- 복잡한 if-else 구조에서 불필요한 블록을 없애고 코드를 간결하게 하기

 

2) 코드 클린업 

- 불필요한 주석 제거하기

- 코드 포맷팅 적용하기

- 일관된 네이밍 컨벤션 적용하기

 

3) 중복 코드 제거

- 프로그램 내에서 반볷적으로 사용되는 코드를 찾아 메서드로 추출하기

- 단순 메서드로의 추출이 아니라 해당 코드를 더 잘 수행할 것 같은 객체에게 위임하거나 객체를 만들어 메서드를 분리하기 

 

4) N+1 문제 개선하기

- fetch join / @EntityGraph 등을 활용해 N+1 문제를 해결해보기

 

5) 테스트코드 & API 로깅

- 작성한 코드가 예상대로 잘 작동하고, 예외처리가 잘 되는지 확인하는 테스트 코드 작성하기

- Interceptor / AOP 를 활용해 어드민 사용자만 접근할 수 있는 특정 API에 접근 할 때 접근 로그 기록하기

 

6) 추가 개선하기

- 내가 작성한 코드를 살펴보고, 추가 개선 가능성이 있는 문제 선정

- 문제 정의

- 정의한 문제에 대해 해결할 수 있는 가설 세우기

- 해결 과정 기록

- 해결 후 회고를 진행하고 어느 부분이 나아졌는지 기록