Skip to content

[Refactor/#88] 퀴즈 정답 확인 로직개선#89

Merged
wjdrjs00 merged 1 commit into
developfrom
refactor/88-quiz-correct-answer
Mar 16, 2026
Merged

[Refactor/#88] 퀴즈 정답 확인 로직개선#89
wjdrjs00 merged 1 commit into
developfrom
refactor/88-quiz-correct-answer

Conversation

@wjdrjs00
Copy link
Copy Markdown
Collaborator

@wjdrjs00 wjdrjs00 commented Mar 16, 2026

Related issue 🛠

Work Description ✏️

  • 퀴즈 정답확인 로직 개선

Screenshot 📸

  • N/A

Uncompleted Tasks 😅

  • N/A

Summary by CodeRabbit

릴리스 노트

  • Refactor
    • 퀴즈 답변 검증 시스템의 타입 안전성을 개선했습니다. 모든 퀴즈 유형에서 답변 검사 로직을 통합된 다형 인터페이스로 업데이트하여 더욱 견고한 답변 처리를 제공합니다.

@wjdrjs00 wjdrjs00 self-assigned this Mar 16, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 16, 2026

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Free

Run ID: 4b3ab636-546b-4db1-a12f-0c9d6d400cfb

📥 Commits

Reviewing files that changed from the base of the PR and between 49a7e0a and ed7fcc1.

📒 Files selected for processing (13)
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/AttentionQuiz.kt
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/LinguisticQuiz.kt
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/MemoryQuiz.kt
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/PersistenceQuiz.kt
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/Quiz.kt
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/SpaceTimeQuiz.kt
  • domain/src/main/kotlin/com/moa/app/domain/quiz/model/UserAnswer.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/attention/AttentionQuizViewModel.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/daily/DailyQuizViewModel.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/linguistic/LinguisticQuizViewModel.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/memory/MemoryQuizViewModel.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/persistence/PersistenceQuizViewModel.kt
  • feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/spacetime/SpaceTimeQuizViewModel.kt

Walkthrough

퀴즈 답변 검증 API를 원시 타입(String, Int, List)에서 새로운 sealed interface UserAnswer의 다형성 기반 설계로 전환합니다. 모든 Quiz 구현체와 ViewModel 호출 지점이 업데이트되어 타입 안전성이 강화됩니다.

Changes

Cohort / File(s) Summary
UserAnswer 타입 정의
domain/src/main/kotlin/com/moa/app/domain/quiz/model/UserAnswer.kt
새로운 sealed interface UserAnswer와 세 가지 구현체(Text, Selection, MultipleText) 도입으로 답변 타입을 안전하게 표현합니다.
Quiz 기본 인터페이스
domain/src/main/kotlin/com/moa/app/domain/quiz/model/Quiz.kt
추상 메서드 isAnswerCorrect(userAnswer: UserAnswer): Boolean 추가로 새로운 계약을 정의합니다.
Quiz 구현체 업데이트
domain/src/main/kotlin/com/moa/app/domain/quiz/model/AttentionQuiz.kt, LinguisticQuiz.kt, MemoryQuiz.kt, PersistenceQuiz.kt, SpaceTimeQuiz.kt
모든 Quiz 서브클래스의 isAnswerCorrect 메서드를 UserAnswer 기반 시그니처로 재정의하여 각 UserAnswer 변형에 맞는 검증 로직을 구현합니다.
ViewModel 호출 지점 업데이트
feature/senior/src/main/kotlin/com/moa/app/feature/senior/quiz/attention/AttentionQuizViewModel.kt, daily/DailyQuizViewModel.kt, linguistic/LinguisticQuizViewModel.kt, memory/MemoryQuizViewModel.kt, persistence/PersistenceQuizViewModel.kt, spacetime/SpaceTimeQuizViewModel.kt
모든 ViewModel에서 isAnswerCorrect 호출 시 원시 값을 적절한 UserAnswer 타입으로 래핑하도록 변경하며, DailyQuizViewModel에는 새로운 toUserAnswer 매핑 헬퍼를 추가합니다.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 답변의 여정, 이제 더 안전하게

String과 Int 대신 UserAnswer의 손으로,
타입의 미로 속에서 길을 잃지 않으리.
각 변형이 자신의 이야기를 말할 때,
Quiz는 더욱 현명해지고, 코드는 더욱 빛난다네! ✨

📝 Coding Plan
  • Generate coding plan for human review comments

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can disable poems in the walkthrough.

Disable the reviews.poem setting to disable the poems in the walkthrough.

@wjdrjs00 wjdrjs00 merged commit 048f53d into develop Mar 16, 2026
4 checks passed
@wjdrjs00 wjdrjs00 deleted the refactor/88-quiz-correct-answer branch May 11, 2026 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Refactor] 퀴즈 정답 확인로직 개선

1 participant