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

[PC-363] 로그인 인증 리팩토링 #34

Merged
merged 15 commits into from
Jan 15, 2025
Merged

Conversation

sksowk156
Copy link
Contributor

@sksowk156 sksowk156 commented Jan 13, 2025

PC-363

1. ⭐️ 변경된 내용

  • Timer 클래스 Domain 모델로 이동
  • AuthCodeRepository 삭제
  • Spacer 제거
  • formatTime 메서드 이동

2. 🖼️ 스크린샷(선택)

3. 💡 알게된 부분

  • 평소 개념적으로 헷갈렸던 도메인 모델에 대한 정의가 태규님 덕분에 조금은 해소된 것 같습니다 ㅎㅎ
  • 코루틴이 있는 기능을 테스트 할 땐 StandardTestDispatcher라는 것을 활용해서 한다는 것을 알게 되었어요

4. 📌 이 부분은 꼭 봐주세요!

@sksowk156 sksowk156 added 리뷰 원해요🔥 피어의 리뷰를 기다리는 ing.. 🔥 리팩토링 🧰 동작의 변화는 없지만 가독성, 유지보수 측면에서의 코드 개선 🧰 ㅈㅎ찐혁 🌙 훗날 세상을 아우를 남자, sksowk156 labels Jan 13, 2025
@sksowk156 sksowk156 requested a review from tgyuuAn January 13, 2025 10:40
@sksowk156 sksowk156 self-assigned this Jan 13, 2025
Copy link
Member

@tgyuuAn tgyuuAn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

진혁님 고생하셨습니다~

이전에 비해서는 코드가 위치할 모듈에 위치하고 개선이 많이 된 것 같습니다.

테스트 코드도 처음 짜보셨을텐데 고생하셨어요....!

아직 개선할 점이 많지만,

너무 많은 코멘트가 달리면 협업에 방어적인 태도로 변할 수가 있어서 이정도만 코멘트 달고 또 추가적으로 코멘트 달겠습니다ㅎㅎㅎㅎㅎㅎ

우선 코멘트 단 것 부터 확인해주세요~

@sksowk156
Copy link
Contributor Author

sksowk156 commented Jan 13, 2025

허허 감사합니다...!!!

너무 많은 코멘트가 달리면 협업에 방어적인 태도로 변할 수가 있어서

이 부분은 전혀 고려하지 못했던 부분이었던 거 같아요... 곱씹어 생각해보니 지금까지 제 코멘트가 좀 불필요하게 많지 않았나 라는 생각이 조금 드네요... 뭔가 나와 다른 코드를 보면 내가 모르는 부분인가 싶어서 코멘트를 추가하다 보니 좀 태규님을 귀찮게 한 부분이 있었나 라는 생각이 들어 조금 죄송하네요.... 근데 진짜 대부분 순수한 궁금증에서 한거라 제 코멘트는 절대 지적의 의미를 담지 않았으니 오해 없으면 좋겠어요 😭 (그래서 사실 저는 제 코멘트에 따라서 코드 수정을 하시지 않으셔도 된다고 생각합니다!!!)
뭔가 중요한 부분으로 느껴져서 그런지 많은 생각이 드네요.
그래도 저는 태규님이 저보다 더 잘한다고 생각하기 때문에 코멘트 많이 달아주시고 의견을 제시해주시면 더 감사할 것 같습니다..!!! 조금 귀찮으시겠지만 😭 그래도 잘 부탁드립니다...!!!

@tgyuuAn
Copy link
Member

tgyuuAn commented Jan 14, 2025

이 부분은 전혀 고려하지 못했던 부분이었던 거 같아요... 곱씹어 생각해보니 지금까지 제 코멘트가 좀 불필요하게 많지 않았나 라는 생각이 조금 드네요... 뭔가 나와 다른 코드를 보면 내가 모르는 부분인가 싶어서 코멘트를 추가하다 보니 좀 태규님을 귀찮게 한 부분이 있었나 라는 생각이 들어 조금 죄송하네요.... 근데 진짜 대부분 순수한 궁금증에서 한거라 제 코멘트는 절대 지적의 의미를 담지 않았으니 오해 없으면 좋겠어요 😭 (그래서 사실 저는 제 코멘트에 따라서 코드 수정을 하시지 않으셔도 된다고 생각합니다!!!) 뭔가 중요한 부분으로 느껴져서 그런지 많은 생각이 드네요. 그래도 저는 태규님이 저보다 더 잘한다고 생각하기 때문에 코멘트 많이 달아주시고 의견을 제시해주시면 더 감사할 것 같습니다..!!! 조금 귀찮으시겠지만 😭 그래도 잘 부탁드립니다...!!!

앗 아닙니다 !!

저는 코멘트 많이 달아주시면 관심이 많이 주시는 것 같아서 좋아합니다 !!

물어보는 코멘트보다 피드백 쪽의 코멘트는 한번에 많이 달면 PR을 열 때 거부감이 생길 수도 있어서 저 스스로 조심하자는 의미에서 한 거였습니다 ㅎㅎㅎ

저는 코멘트 많이 많이 달아주세요 !!!!! 저는 하나도 귀찮지 않아요...!



태규님이 저보다 더 잘한다고 생각하기 때문에 코멘트 많이 달아주시고 의견을 제시해주시면 더 감사할 것 같습니다..!!!

이건 절대 아닙니다! 저도 많이 배우고 있습니다 !! 빠야!!!!

Copy link
Member

@tgyuuAn tgyuuAn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

진혁님 고생하셨습니다...!

진혁님 제가 추가적으로 작업해봤는데,

변경된 사항이랑 코멘트 단 부분 체크 해주세요!!

Comment on lines 12 to 22
private val dispatcher: CoroutineDispatcher = Dispatchers.Default
) {
fun startTimer(): Flow<Int> = flow {
var remainingTime = durationInSec
while (remainingTime > 0) {
emit(remainingTime)
delay(1000L)
remainingTime--
}
emit(0) // 타이머 만료 시 0을 방출
}.flowOn(dispatcher)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3)

dispatcher를 빼고 외부에서 scope를 열어도 될 것 같아요!

0을 종료된다는 flag로 사용하시는 것 너무 좋습니다!

0 매직넘버를 상수화 시키면 더 좋을 것 같아요!!

Comment on lines +80 to +85
// 정말 휴대폰 번호가 유효하지 않았을 경우
setState { copy(isValidPhoneNumber = false) }

// Todo 네트워크 통신 오류
errorHelper.sendError(it)
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 API에 대해 실패 명세가 나올 경우 분기를 줄 수 있습니다.

Comment on lines +91 to +112
authRepository.verifyAuthCode(code).onSuccess {
// 인증에 성공했을 경우,
timerJob?.cancel()

setState {
copy(
remainingTimeInSec = 0,
authCodeStatus = VerificationState.AuthCodeStatus.VERIFIED,
)
}

navigationHelper.navigate(
NavigationEvent.NavigateTo(
route = AuthGraphDest.SignUpRoute,
popUpTo = AuthGraph,
)
)

// 인증에 실패했을 경우,
//setState { copy(authCodeStatus = VerificationState.AuthCodeStatus.INVALID) }
}.onFailure { errorHelper.sendError(it) }
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

해당 API에 대해 실패 명세가 나올 경우 분기를 줄 수 있습니다.

verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 8.dp),
) {
BasicTextField(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

p3)

TextField 부분 컴포넌트화 되어있는 것 같은데 이거 컴포넌트로 빼주시면 감사하겠습니다~

@tgyuuAn tgyuuAn added 머지 해도될듯염🌟 현재 코드를 기존 코드에 합쳐도 될 것 같다라고 판단..! 🌟 and removed 리뷰 원해요🔥 피어의 리뷰를 기다리는 ing.. 🔥 labels Jan 15, 2025
@sksowk156 sksowk156 merged commit 8c90476 into develop Jan 15, 2025
1 check passed
@sksowk156 sksowk156 deleted the feature/sksowk156/PC-363 branch January 15, 2025 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ㅈㅎ찐혁 🌙 훗날 세상을 아우를 남자, sksowk156 리팩토링 🧰 동작의 변화는 없지만 가독성, 유지보수 측면에서의 코드 개선 🧰 머지 해도될듯염🌟 현재 코드를 기존 코드에 합쳐도 될 것 같다라고 판단..! 🌟
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants