-
Notifications
You must be signed in to change notification settings - Fork 8
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
[FE] Dropdown 컴포넌트 제작 및 시간 선택 hook 구현 #71
Conversation
Test Results0 tests 0 ✅ 0s ⏱️ Results for commit eca2f5d. ♻️ This comment has been updated with latest results. |
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.
구현 빠르네요! 고생하셨습니다~🐪 사소한 코멘트 몇개 남겼습니다!
if (endHours < startHours) return false; | ||
else if (endHours === startHours && endMinutes < startMinutes) return false; |
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.
[P2]
if (endHours < startHours) return false; | |
else if (endHours === startHours && endMinutes < startMinutes) return false; | |
if (endHours < startHours) return false; | |
if (endHours === startHours && endMinutes < startMinutes) return false; |
early return을 해주기 때문에, else if
문을 사용할 필요는 없을 것 같아요 :)
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.
그렇네요! 수정하도록 하겠습니다 🐫👍
} | ||
|
||
// 만약 시작 시간보다 끝 시간이 빠르다면 false를 반환하는 함수(@낙타) | ||
export function compareTimes(startTime: string, endTime: string) { |
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.
[P2]
함수명이 시간을 비교한다는 의미를 내포하고 있는 것 같은데, 보다 확실하게 어떤 동작을 하고 무엇을 반환하는지를 더 잘 표현하도록 함수명을 변경해보는 것은 어떨까요?
예를들어, checkStartTimeEarlier 와 같은...?
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.
오 굉장히 좋은데요! 👍 반영하겠습니다 감사해요 :)
expect(result.current.startTime).toBe('0:00'); | ||
expect(result.current.endTime).toBe('23:00'); |
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.
[P3]
시간이 된다면 해당 매직 넘버에 대한 상수화를 진행해보는 것이 괜찮을 것 같네요!!
저도 이번 스프린트가 끝나면 엄청난 상수화를 해야 하기에....매직 넘버가 눈에 띄네요 ㅋㅋ
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.
[C]
++ hook
, util
파일에서 정의하신 상수를 사용해봐도 좋을 것 같아요~!
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.
일단 가장 먼저 필요에 의한 상수 정의는 해당 폴더의 constant파일에 별도로 정의해두도록 하겠습니다! 의견 고마워요!
result.current.onStartTimeChange(CHANGE_TIME); | ||
}); | ||
|
||
expect(result.current.startTime).not.toBe(CHANGE_TIME); |
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.
[P2]
not을 사용해서 검증하기 보다는, 변경되지 않을 때의 값과 비교해보는 것은 어떨까요? 현재는 CHANGE_TIME
만 아니면 통과하기 때문에, 더 정확한 테스트를 위해서 특정 값 자체와 동등 연산자로 비교하는 것이 괜찮을 것 같다는 생각이 들어요~
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.
이 부분은 제가 고민하고 수정한 부분인데요!
특정 값 자체와 동등 연산자로 비교하기보다는 클릭했을 때 '선택되지 않는다'에 초점을 더 맞추어서 구현한 테스트케이스 입니다!
제 생각으로는 "1시를 선택했는데 1시로 변경되지 않는다." 라는 컨텍스트의 입장에서는 맞는 테스트케이스라고 생각했습니다!
해리는 다른 의견이실까요?!
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.
++ 추가적으로 해당 내용에 대해서 아예 선택하지 않게끔 options 값을 유동적으로 변화하게 코드를 수정해보겠습니다!
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.
낙타 고생했습니다!! 작업 속도가 엄청 빠르네요~! 간단한 코멘트 남겼는데, 천천히 확인해 보세요!
} | ||
|
||
// 만약 시작 시간보다 끝 시간이 빠르다면 false를 반환하는 함수(@낙타) | ||
export function compareTimes(startTime: string, endTime: string) { |
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.
[C]
boolean
값을 리턴하니까
isTimeRangeValid
이런 느낌의 네이밍은 어떤가요?
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.
이게 좋네요! 👍👍👍
expect(result.current.startTime).toBe('0:00'); | ||
expect(result.current.endTime).toBe('23:00'); |
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.
[C]
++ hook
, util
파일에서 정의하신 상수를 사용해봐도 좋을 것 같아요~!
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.
리뷰 반영 완료했습니다 :)
현재는 시작시간은 끝 시간을 초과할 수 없고, 끝 시간은 시작 시간 이전으로 설정할 수 없게끔 옵션값이 변경되도록 수정했습니다.
하지만 추후에 아래의 동영상과 hover되었을 때 끝 시간이 변경되도록 수정하면 좋을 것 같네요!
2024-07-25.2.11.18.mov
expect(result.current.startTime).toBe('0:00'); | ||
expect(result.current.endTime).toBe('23:00'); |
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.
일단 가장 먼저 필요에 의한 상수 정의는 해당 폴더의 constant파일에 별도로 정의해두도록 하겠습니다! 의견 고마워요!
result.current.onStartTimeChange(CHANGE_TIME); | ||
}); | ||
|
||
expect(result.current.startTime).not.toBe(CHANGE_TIME); |
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.
이 부분은 제가 고민하고 수정한 부분인데요!
특정 값 자체와 동등 연산자로 비교하기보다는 클릭했을 때 '선택되지 않는다'에 초점을 더 맞추어서 구현한 테스트케이스 입니다!
제 생각으로는 "1시를 선택했는데 1시로 변경되지 않는다." 라는 컨텍스트의 입장에서는 맞는 테스트케이스라고 생각했습니다!
해리는 다른 의견이실까요?!
result.current.onStartTimeChange(CHANGE_TIME); | ||
}); | ||
|
||
expect(result.current.startTime).not.toBe(CHANGE_TIME); |
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.
++ 추가적으로 해당 내용에 대해서 아예 선택하지 않게끔 options 값을 유동적으로 변화하게 코드를 수정해보겠습니다!
} | ||
|
||
// 만약 시작 시간보다 끝 시간이 빠르다면 false를 반환하는 함수(@낙타) | ||
export function compareTimes(startTime: string, endTime: string) { |
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.
오 굉장히 좋은데요! 👍 반영하겠습니다 감사해요 :)
} | ||
|
||
// 만약 시작 시간보다 끝 시간이 빠르다면 false를 반환하는 함수(@낙타) | ||
export function compareTimes(startTime: string, endTime: string) { |
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.
이게 좋네요! 👍👍👍
if (endHours < startHours) return false; | ||
else if (endHours === startHours && endMinutes < startMinutes) return false; |
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.
그렇네요! 수정하도록 하겠습니다 🐫👍
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.
낙타 좋은데요~??
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.
낙타👍👍 열심히 고민하고, 리뷰 반영해 주셨네요!
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.
hooks, components 내에서만 사용하는 상수파일을 어떻게 분리할지 (ex: constants.ts / hook명.constants.ts, ... 등)에 대해서도 스프린트 끝나고 이야기 나누면 좋을 것 같네요!
스프린트 이후 TODO 작업으로 남겨두겠습니다~
관련 이슈
작업 내용
특이 사항
이 부분은 추후에 변경사항이 생길 수도 있지만 일단은 구현해두었습니다!
리뷰 요구사항 (선택)