Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ PR 유형
Feat
🛠️ 작업 내용
직무 추천 점수가 내부적으로 유사도 기반이라 절대값이 낮게 형성돼, 그대로 노출하면 "추천이 부실하다"는 인상을 준다. 내부 점수 산출·저장은 그대로 두고 응답에 노출되는 표시 점수만 체감 척도로 보정했다.
JobScoreCalibrator추가 — 표시 보정 규칙round(60 + raw×0.40)(하한 60, 단조 증가 → 순위 보존, 출력 구간 [60,100]). 정수 산술로 결정적 계산.RecommendationAssembler.jobs()에서JobView.score에만 보정 적용. 저장 엔티티RecommendedJob.score(내부 점수)는 미변경.RecommendationResponse.JobViewjavadoc 에 표시 점수가 내부 저장값과 다름을 명시.보정 전/후 예시: 25→70 · 40→76 · 55→82 · 70→88 · 85→94 · 90→96 (0→60, 100→100).
📋 추후 진행 상황
CourseView.score)도 동일하게 절대값이 낮아 보일 수 있어 별도 검토 여지 있음(본 PR 범위 밖, 직무 전용). 트랙/과목 보정이 필요해지면 직무 전용 하한을 재사용하지 말고 도메인별 규칙으로 분리 권장.📌 리뷰 포인트
RecommendationAssembler.java— 보정이 응답 조립(Presenter) 경계 한 곳에만 적용되는지, 저장/AI 인제스트 경로로 표시값이 새지 않는지(호출 site 단일).JobScoreCalibrator.java— 수식의 단조성(순위 보존)·반올림·clamp·null 처리.RecommendationAssemblerTest.java— 직무 표시 96 / 트랙 95(원본) / 과목 2(원본) 단언으로 직무 전용 스코프가 잠겨 있는지.RecommendationServiceTest가 저장 점수 90 그대로 단언(미수정).검증:
spotlessCheck/checkstyleMain/checkstyleTest통과, 추천 도메인 단위 테스트(JobScoreCalibratorTest5건·RecommendationAssemblerTest·RecommendationServiceTest) 통과. 참고로@SpringBootTest2건은 로컬 DB 시크릿 부재로 컨텍스트 로드 실패 — 본 변경과 무관한 환경 이슈이며 develop 기준에서도 동일하게 실패.🔗 관련 이슈
Closes #45
📸 스크린샷
(해당 없음 — 백엔드 응답 필드 보정)
✅ 체크리스트
./gradlew spotlessApply로 포매팅 적용./gradlew spotlessCheck통과./gradlew checkstyleMain checkstyleTest통과./gradlew build성공./gradlew test모든 테스트 통과