Skip to content

[Refactor] 기존 동작을 보존하는 비동기 처리 정책 검토 및 개선 #364

Description

@Remaked-Swain

🔥 Issue 내용

앱 전반의 비동기 처리 방식을 기존 동작을 유지하는 조건으로 검토하고, 과도하거나 부적합한 부분만 개선합니다.

목표는 무조건적인 generation 비교 정책 제거가 아닌, 더 적합한 비동기 처리 방식의 탐색과 적용입니다. 세대값 비교가 적절한 경우 유지하며, 취소·공유 Task·직렬 실행·최신 의도 보관·제한 병렬 처리 등과 비교하여 효율성, 성능, 가독성 및 컨벤션 준수를 개선합니다. Clean Architecture, TCA의 책임 경계, SOLID 및 Clean Code 원칙을 준수합니다.

변경하지 않는 사항

  • 사용자 입력 수용·취소·무시 기준과 처리 순서, 기존 병렬 실행 의도
  • 페이지네이션, 캐시, 낙관적 갱신·롤백 및 서버 변경 요청의 의미
  • 오류 안내, 세션 만료, 화면 전환, 이벤트 수집 정책

동작 변화가 의심되거나 계약이 불명확하면 구현 전에 기획의도를 재확인합니다. 요청 취소를 서버 변경 취소로 간주하거나 actor 격리만으로 전체 유즈케이스의 원자성을 보장한다고 판단하지 않습니다.

검토 및 진행 방법

  1. 기준 커밋을 확정하고 앱 전반의 비동기 처리 위치와 책임을 목록화합니다.
  2. 대표 구현을 상세 검토하고 유사 구현은 차이 위주로 확인하여 반복 조사 비용을 줄입니다.
  3. 유즈케이스별 현재 보장, 대안, 비용, 부작용과 유지·변경 근거를 정리합니다.
  4. 응답 역전, 취소, 공유 작업, 화면 수명, 캐시 초기화, 세션 교체, 버그 발견, 문제를 해결하기 위한 더 적합한 비동기 처리 방식을 다각면에서 검토, 아키텍처 규칙과 컨벤션 준수 여부 관점에서 계획을 반복 검토합니다.
  5. 작은 개선 단위별 승인 후 구현하고 자체 리뷰 및 검증을 수행합니다.

효과 검증

정적 사실, 조건부 계산, 실제 측정 결과를 구분하여 동일 시나리오의 전후 효과를 설명합니다. 실측 없이 CPU·메모리·응답 시간 개선율을 주장하지 않습니다. Instruments·시뮬레이터 측정은 꼭 필요한 경우에만 사전 허가를 받습니다. 테스트 코드 추가·실행은 제외합니다.

작업 완료 전까지 로컬 임시 기준 문서 CONCURRENCY_REVIEW_WORKING.md를 매 작업 단위 시작·편집·검토·컨텍스트 복구 시 확인하고 갱신합니다. 이 문서는 현재 커밋 대상이 아니며, 확정 결정과 미확정 제안을 구분하여 기록합니다.

✅ To-do

  • 개선 목표와 금지 조건, 반복 검토 계획을 임시 문서로 정리합니다.
  • 기준 브랜치·커밋과 병행 작업을 확인합니다.
  • 비동기 처리 전수 목록과 유즈케이스별 계약을 정리합니다.
  • 대안을 비교하고 유지·개선 판단을 반복 검토합니다.
  • 변경 단위와 영향을 사용자에게 검토받습니다.
  • 승인 범위에서 구현하고 컨벤션·동작 동등성을 검증합니다.
  • 근거가 구분된 전후 효과와 QA 확인 경로를 정리합니다.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions