팀 프로젝트에서 기능적인 완성도는 어느정도 끝이 보인다.
하지만 여전히 해야할 일은 많았고 작성한 코드를 보며 부족하다 느낀 부분이 많았다. 코드의 효율이나 안정성 및 테스트에 관한 부분이었고 자연스레 리팩토링을 생각하게 되었다.
처음에는 코드의 가독성과 유지 보수의 용이함에 신경써 아래의 코드를 수정할 수 있었다.
상황
- 회원 정보를 수정할 때 중복된 코드가 많아 코드가 길어지고 가독성 떨어짐.
문제
- 모든 값들에대해 if 조건문을 사용해 null체크.
- 각각의 조건문 안에서 변수를 set 하기에 변수명이 바뀌거나 추가적인 수정 상황이 발생할 때 유지 보수가 어려움.
해결 방법
- 클라이언트에서 dto로 전체 값을 받아와 개별 값들에대해 체크하는 로직을 없앴다.
- dto 전체를 한번에 체크해 user를 업데이트하는 mapper interface를 사용했다.
결과
수정할 여러 값이 들어있는 dto 전체를 한번에 체크할 수 있어 간결해졌고 가독성이 높아졌다.
- Before
-After
이처럼 코드를 수정하고 또 한가지 고민이 있었다. 코드가 간결한 것은 좋지만 과연 해당 코드의 성능이 얼만큼 좋은지 TPS에대한 테스트를 해보고 싶었다. 다음 글에서는 내가 작성한 코드에대해 Jmeter를 사용한 부하테스트를 진행해볼 계획이다.
'TIL' 카테고리의 다른 글
[자료구조] 스택 & 큐 (0) | 2023.05.05 |
---|---|
데이터 정규화 (0) | 2023.05.04 |
Redis의 문제점 (0) | 2023.04.25 |
Mock & Mokito 테스트코드 (1) | 2023.04.17 |
웹 사이트 CSRF공격과 XSS 공격 (0) | 2023.04.10 |