-
Notifications
You must be signed in to change notification settings - Fork 6
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조_스케줄알빠임_9주차 #152
부산대_1조_스케줄알빠임_9주차 #152
Conversation
refactor: 코드리뷰 반영 #116
weekly > master
멘토링 라이브 진행시 코드리뷰 함께 진행했다는 내용 전달받았습니다. |
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.
처음 리뷰 드렸을 때보다 훨씬 좋아져서 코멘트를 달 만한 부분이 크게 없는 것 같습니다!
매직 넘버들이 자주 보이는데 이것만 제거되어도 아주 훌륭할 것 같고
커스텀 훅으로 모델/뷰/컨트롤러가 잘 분리되어서 가독성 측면에서 좋은 것 같습니다
지난 6주간 고생하셨고 앞으로도 개발 열심히 하시길 바랍니다! 👍
const albaTitle: { [index: string]: string } = { | ||
'/': '내 스케줄', | ||
'/apply': '신청하기', | ||
'/apply/selectTimes': '신청하기', | ||
}; | ||
|
||
const adminTitle: { [index: string]: string } = { | ||
'/': '확정 스케줄', | ||
'/newSchedule': '모집하기', | ||
'/newSchedule/open': '모집 시작하기', | ||
'/newSchedule/close': '모집 마감하기', | ||
}; |
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.
Path에 따라 네비게이션 텍스트를 변경하기 위해 객체를 써주셨는데
이 경우에 만약 페이지 Path를 변경할 일이 생기면 여기 객체도 신경을 써주어야 하기 때문에 에러가 날 가능성이 있습니다
HeaderNB를 개별 페이지마다 삽입하고 props로 제목을 전달하시는 것이 좋을 것 같습니다!
const code = error.response?.data?.errorCode || 0; | ||
|
||
switch (code) { | ||
case -10000: |
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.
멘토링 시간에 에러 코드를 노션에 잘 정리해주셨던 걸 확인했었는데요
이렇게 에러 코드 넘버를 그대로 쓰지 말고 constants로 관리하면 좋을 것 같습니다!
변경 가능성이 있는 숫자, 문자열를 그대로 사용하는 것을 매직넘버라고 하며
매직넘버는 에러를 유발하게 됩니다!
const ERROR_CODE = {
TIMEOUT: -10000,
INVALID_INVITATION: -20004,
...
}
/* ------------ 로그인 요청 부분 ------------ */ | ||
|
||
const loginBtnHandler = (): void => { | ||
sessionStorage.setItem('beforeLoginURL', redirectPage || '/'); |
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.
beforeLoginURL 이런 텍스트도 매직넘버이고 이 또한 constants로 관리하면 좋습니다!
const SESSION_STORAGE = {
beforeLoginURL: 'beforeLoginURL'
}
postLogin({ code: code }).catch((error) => { | ||
// 비회원일 경우 | ||
if (error.response && error.response.status === 404) { | ||
// 회원가입 처리를 하러 간다. | ||
navigate('/signup', { state: { code: code } }); | ||
return null; | ||
} else { | ||
throw error; | ||
} | ||
}), | ||
{ | ||
onSuccess: (response) => { |
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.
onSuccess와 catch문으로 이루어져 있는데 에러가 난 경우를 onError 옵션으로 처리하여 useMutate의 옵션만 쓰거나, onSuccess의 로직도 then 구문으로 들어가서 then-catch 구문을 쓰도록 통일되면 좋겠습니다!
No description provided.