주식회사 센디로 이직하고 처음으로 처리한 작업, 이사모아 앱 리뉴얼…
현재 우리회사는 센디를 주력으로 사업을 진행하고 있으나, 회사 온보딩겸 기존에 있던 제품인 이사모아를 리뉴얼 하는 업무를 받았음
기존 버전
문제점
- 디자인 리소스가 없음
- 아키텍처가 명확하지 않음
- API 문서가 없음
내가 입사하기 전까지 명확한 iOS 개발자가 없었던거 같음. 안드로이드 버전을 기준으로 마이그레이션 하면서 작성한 느낌.
안드로이드 개발자 또는 학생 인턴이 기능 구현을 해서 뷰 마다 코드가 다름 어떤 부분은 안드로이드 코드를 그대로 복사한 듯한 느낌이 들기도 하고 어떤부분은 미묘한 VIP를 따르는 것 같으면서도 어딘가는 MVC이다.
다행히 Objective-C와 Swift의 혼종은 아닌듯 하나 메인터넌스가 매우 오랫동안되지 않아 엄청 구버전의 라이브러리들을 사용하고 있는 듯했다.
앱 리뉴얼
입사 후 몇 주간은 기존 코드 리딩 및 부분 개선을 진행했고 이후에 iOS 디자인 리소스가 나와서 넘겨 받았다.
디자인을 넘겨 받고 기존 프로젝트의 코드 리딩을 한 결과 점진적 기능 개선은 매우 매우 험난한 길을 갈 것 같아서 그냥 새로 만들기로 했다.
개선사항
- MVVM 아키텍처로 변경
- GitHub Action을 사용하여 CI / CD 환경 구성
- 유닛테스트 작성
- 레거시 라이브러리 제거
아키텍처 변경은 80% 정도 진행했으며 추후 개선점이 보여서 리팩토링이 필요한 상황이다.
CI / CD 환경구성은 기존에도 잘 쓰고 있어서 간단하게 설정 할 수 있었음.
테스트 코드 작성은 적극적으로 진행하지 않아서 현재 커버리지가 한 자릿수이다. 개선이 필요함…
레거시 라이브러리는 성공적으로 모두 제거했다.
일정이 부족하여 몇 가지 기능은 빠진채로 출시하게 되었는데 센디 iOS 버전이 마무리 되는대로 작업할 예정이다.
이사할 때 한 번쯤은 써보시길 바란다. -끝-