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

Fix [#170] 카카오 로그인 시, 회원탈퇴 후 재가입 가능한 오류사항 해결 #171

Merged
merged 1 commit into from
Mar 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ final class LoginViewModel: NSObject, ViewModelType {
Task {
do {
let result = try await self.postSocialLoginAPI(socialPlatform: "KAKAO", accessToken: accessToken, userName: nil)?.data
let isNewUser = result?.isNewUser ?? false
guard let isNewUser = result?.isNewUser else { return }
let nickname = result?.nickName ?? ""
if !isNewUser && !nickname.isEmpty {
self.userInfoPublisher.send(false)

Choose a reason for hiding this comment

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

위의 코드 조각에서 수정된 부분을 살펴보면, 이전에는 isNewUser 변수가 Optional이었지만, 변경 후에는 guard 문을 사용하여 Optional 바인딩하였습니다.

개선 제안:

  1. guard문을 사용하여 옵셔널 바인딩하는 것은 좋은 습관입니다.
  2. 그러나 guard else { return } 구문을 사용할 때, 에러 메시지를 출력하여 디버깅에 도움이 되도록 보완할 수 있습니다.
  3. isNewUser 뿐만 아니라, 다른 속성들도 안전하게 처리되어야 합니다. 값이 없을 때의 fallback 혹은 오류 처리에 대한 고려가 필요합니다.

버그 리스크:

  • result?.isNewUsernil일 경우, guard 문이 실행되어 메소드 종료될 수 있으므로, 이 경우에 대한 추가적인 처리가 필요합니다.

코드 리뷰 결과, 제출된 코드의 개선 및 잠재적인 버그는 위와 같습니다.

Expand Down