Skip to content

[Refactor] 컬럼 추가#360

Merged
unifolio0 merged 1 commit into
developfrom
refactor/live-coding
Jun 18, 2026
Merged

[Refactor] 컬럼 추가#360
unifolio0 merged 1 commit into
developfrom
refactor/live-coding

Conversation

@unifolio0

Copy link
Copy Markdown
Contributor

closed #

작업 내용

스크린샷

참고 사항

@unifolio0 unifolio0 self-assigned this Jun 18, 2026
@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 73b08bab-e6e0-4f4c-a82a-e2d7a79e6514

📥 Commits

Reviewing files that changed from the base of the PR and between fad93e2 and 12a6af4.

📒 Files selected for processing (6)
  • src/main/java/com/samhap/kokomen/interview/service/dto/InterviewResultResponse.java
  • src/main/java/com/samhap/kokomen/interview/service/dto/check/InterviewCheckResponse.java
  • src/main/java/com/samhap/kokomen/interview/service/dto/check/InterviewCheckTextModeResponse.java
  • src/main/java/com/samhap/kokomen/interview/service/dto/check/InterviewCheckVoiceModeResponse.java
  • src/main/java/com/samhap/kokomen/interview/service/dto/check/InterviewFinishedCheckResponse.java
  • src/test/java/com/samhap/kokomen/interview/controller/InterviewControllerTest.java

Summary by CodeRabbit

릴리스 노트

  • 새로운 기능
    • 인터뷰 조회 API 응답에 라이브 코딩 여부 정보가 추가되었습니다. 사용자는 이제 인터뷰 결과, 진행 중 상태, 완료된 인터뷰를 조회할 때 라이브 코딩 포함 여부를 확인할 수 있습니다.

Walkthrough

인터뷰 체크 및 결과 응답 DTO 레코드(InterviewCheckTextModeResponse, InterviewCheckVoiceModeResponse, InterviewFinishedCheckResponse, InterviewResultResponse)에 Boolean includeLiveCoding 컴포넌트를 추가하고, 각 팩토리 메서드에서 interview.isLiveCoding() 값을 전달하도록 변경했다. 컨트롤러 테스트와 REST Docs도 함께 갱신되었다.

Changes

인터뷰 응답 DTO에 includeLiveCoding 필드 추가

Layer / File(s) Summary
DTO 레코드 컴포넌트 추가 및 팩토리 메서드 연결
...dto/check/InterviewFinishedCheckResponse.java, ...dto/check/InterviewCheckTextModeResponse.java, ...dto/check/InterviewCheckVoiceModeResponse.java, ...dto/check/InterviewCheckResponse.java, ...dto/InterviewResultResponse.java
InterviewFinishedCheckResponse, InterviewCheckTextModeResponse, InterviewCheckVoiceModeResponse, InterviewResultResponse 레코드에 Boolean includeLiveCoding을 추가하고, createInProgress, createFinished, createMine 등 팩토리 메서드에서 interview.isLiveCoding() 값을 전달하도록 변경했다.
컨트롤러 테스트 및 REST Docs 갱신
src/test/java/com/samhap/kokomen/interview/controller/InterviewControllerTest.java
체크 API(TEXT/VOICE/FINISHED) 및 결과 조회 API(자신, 다른 사용자 로그인/비회원, 게스트) 테스트 응답 JSON과 REST Docs responseFieldsinclude_live_coding: false 항목을 추가했다.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • samhap-soft/kokomen-backend#359: InterviewType.LIVE_CODINGInterview.isLiveCoding()을 도메인에 추가하여, 이번 PR에서 응답 DTO에 전파하는 interview.isLiveCoding() 호출의 기반을 제공한다.

Suggested reviewers

  • nak-honest
  • kargowild

Poem

🐰 토끼가 코드를 살펴보니,
라이브 코딩 여부가 숨어 있었네!
includeLiveCoding 필드 하나로,
응답마다 진실이 담기게 되었다오.
테스트도 문서도 함께 갱신, 🎉
이제 거짓말 없는 API가 되었다네!

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning 제목은 '컬럼 추가'로 매우 추상적이며, 실제 변경사항인 'includeLiveCoding' 필드 추가와 관련 API 응답 변경의 구체적인 내용을 전혀 반영하지 않습니다. 제목을 '[Refactor] 인터뷰 응답에 라이브 코딩 포함 여부 필드 추가' 등으로 변경하여 실제 변경사항을 더 명확하게 표현하세요.
Description check ⚠️ Warning 설명이 비어있는 템플릿만 존재하며 변경사항, 이유, 영향 범위 등 어떤 실질적인 정보도 제공하지 않습니다. 인터뷰 응답 DTO들에 includeLiveCoding 필드를 추가한 이유, 관련 API들의 변경 사항, 테스트 검증 내용을 포함하여 설명을 작성하세요.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch refactor/live-coding

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions

Copy link
Copy Markdown

Test Results

 54 files   54 suites   1m 40s ⏱️
321 tests 320 ✅ 1 💤 0 ❌
323 runs  322 ✅ 1 💤 0 ❌

Results for commit 12a6af4.

@gemini-code-assist

Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

본 PR은 면접 시스템의 데이터 구조를 확장하여 라이브 코딩 면접 여부를 추적할 수 있도록 관련 DTO 및 테스트 코드를 수정하는 작업을 수행했습니다. 이를 통해 면접 상태 확인 및 결과 조회 시 라이브 코딩 포함 여부를 명확하게 식별할 수 있게 되었습니다.

Highlights

  • 데이터 모델 확장: 면접 결과 및 상태 응답 DTO에 'includeLiveCoding' 필드를 추가하여 라이브 코딩 면접 여부를 확인할 수 있도록 변경했습니다.
  • 테스트 코드 업데이트: API 명세 및 테스트 코드에 새로운 필드를 반영하고, RestDocs 문서화 설정을 업데이트했습니다.
New Features

🧠 You can now enable Memory (public preview) to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.


면접의 결과 속에, 코딩의 숨결 담아, 새로운 필드 추가로, 진실을 밝히리라.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new includeLiveCoding field to several interview-related DTOs (InterviewResultResponse, InterviewCheckTextModeResponse, InterviewCheckVoiceModeResponse, and InterviewFinishedCheckResponse) and updates the corresponding controller tests and documentation. The reviewer suggests using the primitive boolean type instead of the wrapper Boolean class for this new field across all affected DTOs to avoid unnecessary boxing/unboxing overhead and prevent potential NullPointerExceptions, as the field is always populated from a primitive boolean value.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Integer userCurScore,
Integer userPrevScore,
InterviewMode interviewMode,
Boolean includeLiveCoding,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

includeLiveCoding 필드는 항상 interview.isLiveCoding()(기본형 boolean 반환)을 통해 설정되므로 null이 될 가능성이 없습니다. 불필요한 박싱/언박싱 오버헤드를 방지하고 NullPointerException 발생 가능성을 원천 차단하기 위해 래퍼 클래스인 Boolean 대신 기본형 boolean 타입을 사용하는 것을 권장합니다.

Suggested change
Boolean includeLiveCoding,
boolean includeLiveCoding,

Integer maxQuestionCount,
Boolean isDemo
Boolean isDemo,
Boolean includeLiveCoding

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

includeLiveCoding 필드는 항상 interview.isLiveCoding()을 통해 설정되므로 null이 될 가능성이 없습니다. 불필요한 박싱/언박싱 오버헤드를 방지하고 NullPointerException 발생 가능성을 원천 차단하기 위해 래퍼 클래스인 Boolean 대신 기본형 boolean 타입을 사용하는 것을 권장합니다.

Suggested change
Boolean includeLiveCoding
boolean includeLiveCoding

Integer maxQuestionCount,
Boolean isDemo
Boolean isDemo,
Boolean includeLiveCoding

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

includeLiveCoding 필드는 항상 interview.isLiveCoding()을 통해 설정되므로 null이 될 가능성이 없습니다. 불필요한 박싱/언박싱 오버헤드를 방지하고 NullPointerException 발생 가능성을 원천 차단하기 위해 래퍼 클래스인 Boolean 대신 기본형 boolean 타입을 사용하는 것을 권장합니다.

Suggested change
Boolean includeLiveCoding
boolean includeLiveCoding

Integer maxQuestionCount,
Boolean isDemo
Boolean isDemo,
Boolean includeLiveCoding

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

includeLiveCoding 필드는 항상 interview.isLiveCoding()을 통해 설정되므로 null이 될 가능성이 없습니다. 불필요한 박싱/언박싱 오버헤드를 방지하고 NullPointerException 발생 가능성을 원천 차단하기 위해 래퍼 클래스인 Boolean 대신 기본형 boolean 타입을 사용하는 것을 권장합니다.

Suggested change
Boolean includeLiveCoding
boolean includeLiveCoding

@unifolio0 unifolio0 merged commit a900411 into develop Jun 18, 2026
4 checks passed
@unifolio0 unifolio0 deleted the refactor/live-coding branch June 18, 2026 02:28
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.

1 participant