본문 바로가기

우아한형제들3

리팩터링(2) - 문제 해결하기 지난 글에서 리팩터링의 필요성을 직접 느끼고 문제 상황을 정의한 경험을 공유했습니다. 이번 글에서는 문제를 어떻게 해결해나갔는지에 대해 작성해보겠습니다. 1. 각 도메인 코드와 알람 코드 분리 리팩터링하기 이전의 코드도 의존관계는 단방향으로 잘 흐르고 있었습니다. 각 도메인에서 알람을 참조하는 형태로 이뤄졌고, 알람은 외부 도메인에 대한 정보가 전혀 없었습니다. 덕분에 의존성에 대한 문제는 전혀 존재하지 않았습니다. 다만 각 도메인에서 알람을 전송하기 위한 코드들이 많이 있었고 이를 도메인에서 떼어내기 위해 여러 고민을 했고 최종적으로 도메인 이벤트라는 방법을 선택하게 됐습니다. 도메인 이벤트를 사용하면 다음과 같은 장점이 있었습니다. 절차지향의 코드를 객체지향 코드로 전환할 수 있다. 외부 패키지와의 .. 2022. 9. 24.
리팩터링(1) - 필요성과 계획 수립 리팩터링(2) - 문제 해결하기 리팩터링(3) - 하다보니 보이는 것들 안녕하세요. 이번 시리즈는 우아한테크코스 쿠폰 문화를 관리하는 땡쿠의 코드를 리팩터링하며 겪은 경험을 정리하고자 작성하였습니다. 땡쿠 서비스는 쿠폰을 주고 받고, 예약을 요청하고, 예약을 승인하면 만남이 생성되는 주요 흐름이 있고 부가적으로 재미요소인 마음 보내기라는 기능이 있습니다. 모든 상호작용 과정에는 알람이 생성되고, 우아한테크코스 슬랙 그룹으로 알람을 전송하게됩니다. 그 중 저는 기존의 알람서비스를 리팩터링하였는데요. 이번 포스팅은 리팩터링의 필요성과 계획 수립에 대해 작성해보겠습니다. 필요성과 코드 이해 사실 가장 먼저 물음을 가져야 할 부분은 리팩터링하는 이유였습니다. 이미 서비스에 배포도 되어있고 문제 없이 잘 굴러가고.. 2022. 9. 24.
3주간의 우아한 테크코스 프리코스를 마치며 아직 3주 차 과제가 끝나려면 약 5일 정도 남았지만, 이미 과제를 제출하고 지난 기간을 정리하는 과정 중에 있어 과정이 끝나기 전 미리 소감을 적습니다. 프리코스 3주차 미션을 메일로 받았다. 이때 미션에 대한 설명보다 내 눈에 먼저 들어온 두 문장이 있다. 두 문장의 내용은 각각 다음과 같다. 블로그, SNS에 프리코스 후기를 올리고 저희에게 공유해준다면 과정을 준비한 저희에게 큰 힘이 될 것 같아요. 지원 플랫폼에 제출해주는 소감을 PR 본문에 추가한다면 서로의 성장에 도움이 되지 않을까요? 첫 번째 문장 덕분에 지금 이 블로그를 개설하고 글을 쓰고 있다. 이번 과정이 내게 정말 큰 도움이 되었기에 나도 힘을 주고 싶다는 마음뿐이다. 그리고 이 글 본문은 두 번째 문장에 대한 나의 생각을 바탕으로 .. 2021. 12. 10.