앱의 확장성을 고려해 SnapKit, Then 등 라이브러리를 활용해 코드를 단순화하여 가독성을 올리고 Input, Output, Transform 형태로 뷰, 뷰모델의 Binding 구조를 통일함으로써 유지보수성을 높이고자 노력했어요.

커스텀 버튼, 텍스트필드 등 자주 사용하는 부분을 컴포넌트화 하고 뷰에서 쉽게 컴포넌트의 상태를 설정할 수 있도록 정의했어요.


디자인토큰 및 Extension을 정의해서 추후 정산방법이 추가 되거나 수정할 부분이 발생했을 때 최대한 손쉽게 작업할 수 있는 환경을 만들었어요.


**Split it!**에 맞는 데이터 구조를 설계하기 위해 토론하고, 많이 사용하는 아키텍처 패턴을 활용하면서도 최대한 우리 앱에 맞는 구조를 설계하는데에 집중했어요.
기존의 아키텍처 패턴을 활용하면서도 최대한 우리 앱에 적합한 구조를 설계하는데에 집중했어요.

프로토콜을 활용해 Realm과 데이터를 주고 받는 과정에서 기존의 비즈니스 모델과의 전환이 간편하게 이루어지도록 했어요.


주제가 ‘정산’인만큼 그에 맞게 RxSwift, RxCocoa 등 Rx 연관 라이브러리를 이용해 데이터 흐름을 최적화하고 실시간 데이터 변화에 따른 레이아웃 변화를 통해 유저의 사용성을 높이고자 했어요.

Xcode Leaks를 활용한 메모리 누수 체크를 통해 사용자가 앱을 사용함에 있어서 메모리 문제로 사용성을 저해받는 상황을 없애려고 노력했어요.


