목록 보기
리팩토링! 어머 들었어? 우리 동네(코드) 재개발 들어간대!!
프론트엔드

리팩토링! 어머 들었어? 우리 동네(코드) 재개발 들어간대!!

크몽
크몽
2021년 2월 4일

두줄요약

높은 결합도의 안드로이드 인박스 페이지를 단계적으로 분리해 MVP 구조로 전환한 경험을 공유했습니다.\n리팩토링 범위·우선순위를 정하고 테스트로 기존 기능과 UI를 보존하는 방법을 제안합니다.

문제 상황

  • 높은 모델 결합도와 구 구조로 인한 인박스 페이지 수정·파악 난이도
  • 예정된 UI·기능 변경에 대응하기 위한 페이지 구조 개선 필요

구조와 흐름

  • Adapter 분리 후 Activity와 ItemView를 리스너 기반으로 분리
  • ItemView와 ViewModel의 직접 연결 해제 후 InboxContract 기반 Activity·ViewModel 분리
  • ViewModel을 Presenter로 전환하고 Presenter의 네트워크 모델 분리로 MVP 구조 완성

주의할 점

  • 리팩토링 전후 기능·UI 동일성 및 버그 부재 확인을 위한 체크리스트와 테스트
  • 미완료 작업에 따른 구·신 코드 혼재 방지를 위한 명확한 범위와 목표 설정

적용해볼 점

  • 중복 코드 개선부터 시작해 구조 개선·라이브러리 제거로 점진적 확장
  • 작업 우선순위, 목적, 마감일, 분리 기준을 동료와 합의

다음 읽기

#Android 주제를 이어서 읽기

RecyclerView In Kmong MVP

크몽 안드로이드 앱의 RecyclerView에 MVP를 적용한 구조를 소개했습니다. Adapter 분리를 생략하고 ViewHolder와 IRootView로 재사용성과 개발 효율을 확보했습니다.

크몽
크몽
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...