
리팩토링! 어머 들었어? 우리 동네(코드) 재개발 들어간대!!
두줄요약
높은 결합도의 안드로이드 인박스 페이지를 단계적으로 분리해 MVP 구조로 전환한 경험을 공유했습니다.\n리팩토링 범위·우선순위를 정하고 테스트로 기존 기능과 UI를 보존하는 방법을 제안합니다.
문제 상황
- 높은 모델 결합도와 구 구조로 인한 인박스 페이지 수정·파악 난이도
- 예정된 UI·기능 변경에 대응하기 위한 페이지 구조 개선 필요
구조와 흐름
- Adapter 분리 후 Activity와 ItemView를 리스너 기반으로 분리
- ItemView와 ViewModel의 직접 연결 해제 후 InboxContract 기반 Activity·ViewModel 분리
- ViewModel을 Presenter로 전환하고 Presenter의 네트워크 모델 분리로 MVP 구조 완성
주의할 점
- 리팩토링 전후 기능·UI 동일성 및 버그 부재 확인을 위한 체크리스트와 테스트
- 미완료 작업에 따른 구·신 코드 혼재 방지를 위한 명확한 범위와 목표 설정
적용해볼 점
- 중복 코드 개선부터 시작해 구조 개선·라이브러리 제거로 점진적 확장
- 작업 우선순위, 목적, 마감일, 분리 기준을 동료와 합의


