Skip to content

refactor(mindrecord): MVI 전환 — ViewModel 10개 #1807

Open

Description

@OnlyReadOneBook

작업 유형

refactor — 동작 변경 없는 구조·책임·경계 개선

주 담당 모듈

mindrecord — 마음의 기록

개요

mindrecord 의 ViewModel 10개를 MviViewModel 로 전환한다.

현황 (develop 실측)

항목 수치
ViewModel 10개
Screen / on* 콜백 10개 / 64개
presentation @Test 232개 — 레포 2위

Consumed 플래그도 Channel 도 쓰지 않는 모듈이다 — 일회성 이벤트를 지금 어떻게 처리하고 있는지 전환 착수 시 먼저 확인한다. 규약이 없는 채로 화면마다 다르게 처리되고 있을 가능성이 높고, 그렇다면 이 모듈이 MVI 이득이 가장 큰 축에 든다.

완료 조건

  • ViewModel 10개가 MviViewModel 상속이고 onIntent 단일 진입점이다
  • 상태 전이가 reduce 안에만 있다
  • 일회성 이벤트가 MviEffect 로 통일된다
  • Screen 10개가 Screen/Content 2단이다
  • @Test 232개가 초록이고, 리듀서 단언은 순수 테스트로 옮겨져 있다
  • konsist allowlist 에서 mindrecord ViewModel 10개가 빠진다

자식 이슈

No response

참고

이 모듈은 콜백 미배선 실사고 전례가 반복된 곳이다(#582 · #618 · #722 · #777) — Screen/Content 2단 분리 시 배선 누락이 컴파일 에러로 드러나는지 확인한다.

Paging Loading 순번 의존·waitUntil 함정이 이 모듈 테스트에 걸린 전례가 있다 — 리듀서 테스트로 옮기면 상당수가 해소될 수 있다.

네비게이션은 이 전환 범위 밖이다. mindrecord 는 Navigation 3 파일럿(#959)과 전체 entry 계약(#1697)이 열려 있다 — 이 모듈이 Nav3 이관의 선두라 겹침이 가장 크다. #1697 이후 착수를 권한다.

Activity

  1. added
    refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업
    area:mindrecord마음의 기록 기능 영역
    on Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:mindrecord마음의 기록 기능 영역refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions