Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[개선] 1, 2차 합격자 결정 시 동점자 처리 #139

Merged
merged 11 commits into from
Oct 7, 2024
Merged

Conversation

cabbage16
Copy link
Member

🎫 관련 이슈

close #


📄 개요

1, 2차 전형 합격자 결정 시 동점자 처리 로직을 만들었습니다.


🔨 작업 내용

  • 1차 합격 시에는 동점자가 나올 경우 정원을 무시하고 동점자를 포함하여 1차 합격 시키도록 했습니다.
  • 2차 합격 시에는 동점자가 나올 경우 입학 요강의 우선순위 기준에 따라 처리하도록 했습니다.
  • 합격 처리 로직에서 반복되는 for 문을 함수형 인터페이스를 사용해서 메서드와 했습니다.
  • 변수명 변경, 불필요한 import문 삭제 등 리팩토링 및 버그 수정을 진행했습니다.

🏁 확인 사항

  • 테스트를 완료했나요?
  • API 문서를 작성했나요?
  • 코드 컨벤션을 준수했나요?
  • 불필요한 로그, 주석, import 등을 삭제했나요?

🙋🏻 덧붙일 말

- FormRepositoryImpl에서 원서를 받아올 때, order by에 여러개의 기준을 둬서 1순위부터 6순위까지의 동점자 처리 기준 역할을 하도록 했습니다.
- 동점자 처리 기준중 3학년 1학기 성적이 있어서 Score에 3학년 1학기 성적을 추가했습니다.
- 입학요강에 따라 커트라인 점수를 저장해서, 이미 1차 정원이 다 찼더라도 동점자의 경우 추가로 합격을 시키도록 만들었어요.
- 전형별로 합격을 시키는 과정에서 똑같은 for 반복문이 너무 많이 사용되어서 함수형 인터페이스를 사용해서 메서드화 하여서 중복 코드를 줄였어요.
- 전형별로 합격을 시키는 과정에서 똑같은 for 반복문이 너무 많이 사용되어서 함수형 인터페이스를 사용해서 메서드화 하여서 중복 코드를 줄였어요.
- 특별전형 인원 미달 시 일반전형 지원자로 충원하는 로직을 SelectFirstPassUseCase처럼 수정했어요.
- SelectSecondPassUseCaseTest에서 테스트가 여러개가 되어서 하나의 테스트가 끝날때 마다 Repository를 초기화하는 메서드를 작성했어요.
- MissingTotalScoreException의 에러 코드가 409가 더 의미에 맞다고 생각하여 변경했어요.
- 검정고시는 특정 학기의 성적을 구할 수 없으므로 null로 하여서 오류를 방지했어요.
- 입학요강에 따라 검정고시 원서의 경우 동점자 처리 중 3학년 1학기 성적에서 일반 원서보다 우선순위가 낮아요. 따라서 FormRepositoryImpl에서 order by절에 3학년 1학기 성적에 nullsLast 옵션을 추가하여 명시적으로 수정했어요.
@cabbage16 cabbage16 requested a review from a team as a code owner September 26, 2024 14:17
@cabbage16 cabbage16 linked an issue Sep 26, 2024 that may be closed by this pull request
Copy link

이렇게 리뷰해주세요.

🖐️ 규칙

  1. 개선이 필요한지 충분히 설명해주세요.
  2. 답을 알려주기보다는 스스로 고민하고 개선 방법을 선택할 수 있게 해주세요.
  3. 코드를 깔끔하게 유지하고, 일관되게 구현하도록 안내해 주세요.
  4. 리뷰 과정이 숙제검사가 아닌 학습과정으로 느낄 수 있게 리뷰해 주세요.
  5. 리뷰를 위한 리뷰를 하지 마세요. 피드백 할 게 없으면 칭찬해 주세요.

🥬 우선순위

리뷰 중요도에 따라 다음과 같은 prefix를 붙여주세요.

예시 - P5) 쓸모없는 주석 삭제해주세요.

  • P1: 꼭 반영해주세요 (Request changes)
  • P2: 적극적으로 고려해주세요 (Request changes)
  • P3: 웬만하면 반영해 주세요 (Comment)
  • P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
  • P5: 그냥 사소한 의견입니다 (Approve)

@cabbage16 cabbage16 self-assigned this Sep 26, 2024
Copy link

sonarcloud bot commented Sep 26, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
10.0% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

@jyj1289 jyj1289 merged commit d207356 into develop Oct 7, 2024
1 of 2 checks passed
@jyj1289 jyj1289 deleted the perf/#132 branch October 7, 2024 11:27
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, 2차 합격자 결정 시 동점자 처리
2 participants