TIL

코드 리팩토링

Big Iron 2023. 5. 1. 18:46

팀 프로젝트에서 기능적인 완성도는 어느정도 끝이 보인다.
하지만 여전히 해야할 일은 많았고 작성한 코드를 보며 부족하다 느낀 부분이 많았다. 코드의 효율이나 안정성 및 테스트에 관한 부분이었고 자연스레 리팩토링을 생각하게 되었다.


처음에는 코드의 가독성과 유지 보수의 용이함에 신경써 아래의 코드를 수정할 수 있었다.

상황


  • 회원 정보를 수정할 때 중복된 코드가 많아 코드가 길어지고 가독성 떨어짐.

문제


  1. 모든 값들에대해 if 조건문을 사용해 null체크.
  2. 각각의 조건문 안에서 변수를 set 하기에 변수명이 바뀌거나 추가적인 수정 상황이 발생할 때 유지 보수가 어려움.

해결 방법


  1. 클라이언트에서 dto로 전체 값을 받아와 개별 값들에대해 체크하는 로직을 없앴다.
  2. dto 전체를 한번에 체크해 user를 업데이트하는 mapper interface를 사용했다.

결과


수정할 여러 값이 들어있는 dto 전체를 한번에 체크할 수 있어 간결해졌고 가독성이 높아졌다.

  • Before
    image

-After
image
image


이처럼 코드를 수정하고 또 한가지 고민이 있었다. 코드가 간결한 것은 좋지만 과연 해당 코드의 성능이 얼만큼 좋은지 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