-
Notifications
You must be signed in to change notification settings - Fork 247
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
[Step4] 수강신청(요구사항 변경) #512
base: danden1
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요 용하님 😃
4단계도 잘 구현해 주셨네요
몇 가지 코멘트 남겨두었는데 확인해 주시고 다시 리뷰 요청 부탁드려요
public final void removeNotApproveUser() { | ||
students.removeIf(student -> !approveStudents.contains(student)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수강을 취소하더라도 신청 내역을 존재할 수 있을 것 같은데요
취소된 수강생을 삭제하기 보다 '수강생' 이라는 도메인을 도출해서 승인/선발 이라는 상태를 추가하면 어떨까요?
private final Set<NsUser> students; | ||
private final Set<NsUser> approveStudents; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
선발 과정이후 students, approveStudents 두 필드의 요소는 같을 것으로 예상됩니다.
두 가지를 모두 가지고 있을 필요가 있을까요?
private final List<SessionImage> sessionImage; | ||
private RecruitStatus recruitStatus; | ||
private SessionProgressStatus sessionProgressStatus; | ||
private final Set<NsUser> students; | ||
private final Set<NsUser> approveStudents; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
규칙 7: 3개 이상의 인스턴스 변수를 가진 클래스를 쓰지 않는다.
인스턴스 변수의 수를 줄이기 위해 도전한다.
'수강신청'과 관련된 필드만 모아서 객체를 도출하면 어떨까요?
import java.util.stream.Collectors; | ||
|
||
@Repository("sessionRepository") | ||
public class JdbcPaySessionRepository implements PaySessionRepository { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Repository를 분리해주셨네요
두 SessionRepository의 컴포넌트 이름 "sessionRepository"
은 일부러 같게 해주신걸까요?
그리고 '수강신청'과 관련된 흐름을 검증할 수 있게 Service 도 추가하면 어떨까요?
안녕하세요.
이번엔 step3 리뷰 신청하고, step4를 바로 해봤었습니다.
그래서 중간에 conflict이 나서 commit 메시지가 지저분해졌습니다.
docs: 기능 목록 부터 보시면 될 것 같습니다!
벌써 마지막 과제네요. 잘 부탁드립니다.