초기에 구축된 소환사 정보 관리 시스템에서 callSummonerInfo
라는 메서드는 회원 가입과 정보 갱신 시 중복 코드를 줄이기 위해 동일하게 사용되었습니다. 이 메서드는 if-else 구문을 사용하여 회원 가입과 정보 갱신을 구분했습니다. 회원 가입 시에는 riotGameName
과 riotGameTag
를 사용하여 가입을 진행하며, 이 과정에서 게임사의 open API를 통해 puuId
(플랫폼 ID)와 summonerId
(소환사 ID) 정보를 불러오는 복잡한 절차가 필요했습니다. 그러나 정보 갱신 시에도 불필요하게 같은 정보를 다시 불러오는 비효율성이 발생했습니다.
리펙토링 과정에서 시스템의 유지보수성과 코드 공유 효율성을 높이기 위해 각 도메인을 분리하기로 결정했습니다. 이를 통해 create
와 update
과정에서 중복되는 코드는 별도의 util
폴더로 분리하여 공유하도록 조정했습니다. 특히, 정보 갱신 시에는 더 이상 puuId
와 summonerId
를 불러오는 과정을 거치지 않고, summonerId
를 직접 파라미터로 받아 처리하도록 개선하여 불필요한 처리를 줄였습니다.
정리하자면
기존
개선 :
이러한 리펙토링을 통해 기존에 10초가 소요되던 처리 시간이 5.5초로 감소하였습니다. 이는 전체 시스템의 효율성과 응답 속도를 크게 향상시켜 사용자 경험을 개선하는 데 크게 기여하였습니다.
15:57:15 ~ 15:57:21