Skip to content

Conversation

@pinocchio22
Copy link
Contributor

📌 이슈

  • #이슈번호

✅ 작업 사항

  • 탭바관련 수정 (AppCoordinator)

@pinocchio22 pinocchio22 self-assigned this Nov 27, 2025
@pinocchio22 pinocchio22 added the fix 버그 수정, 잔잔바리 수정, 병합 시 충돌 해결 label Nov 27, 2025
@pinocchio22 pinocchio22 linked an issue Nov 27, 2025 that may be closed by this pull request
@gemini-code-assist
Copy link

Summary of Changes

Hello @pinocchio22, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 Pull Request는 내부 테스트 피드백을 반영하여 애플리케이션의 핵심 아키텍처와 사용자 경험을 개선합니다. 특히, 의존성 주입 컨테이너의 동기화 로직을 조정하고, 회원 탈퇴 시 토큰 삭제 과정을 강화하며, AppCoordinator에 프로토콜을 도입하여 모듈 간 결합도를 낮추고 유연성을 높였습니다. 또한, 온보딩 플로우 전반에 걸쳐 탭바 가시성을 명확히 제어하고, 메인 화면으로의 전환을 AppCoordinator를 통해 일관되게 처리하도록 변경하여 전반적인 코드 구조와 사용자 흐름을 개선했습니다.

Highlights

  • DIContainer 동기화 로직 변경: DIContainer의 객체 등록 시 serviceQueue.sync 호출이 임시로 주석 처리되어, 의존성 주입 로직의 동기화 방식에 변경이 있음을 시사합니다.
  • 회원 탈퇴 로직 개선: 회원 탈퇴 시 액세스 토큰만 삭제하던 기존 로직에서 리프레시 토큰, FCM 토큰까지 모든 토큰을 삭제하도록 확장되었으며, 토큰 삭제 과정에서 발생할 수 있는 오류 처리 로직이 추가되었습니다.
  • AppCoordinator 프로토콜 도입 및 유연성 강화: AppCoordinator가 AppCoordinatorProtocol을 준수하도록 변경되었고, window 속성이 옵셔널 타입으로 변경되어 초기화 및 루트 뷰 컨트롤러 설정 시 유연성이 향상되었습니다.
  • 온보딩 및 메인 탭바 가시성 제어: 온보딩 관련 뷰 컨트롤러(OnBoardingNotification, OnBoardingInput, OnBoardingNotificationSheet, OnBoardingQuestion, TermsAgreement) 생성 시 하단 탭바의 가시성(isBottomTabbarHidden)을 명시적으로 설정하도록 변경되었습니다. 또한, 온보딩 플로우에서 메인 탭으로 이동하는 로직이 AppCoordinator를 통해 처리되도록 수정되었습니다.
  • 의존성 주입 등록 방식 개선: AppDelegate 내에서 의존성을 등록하는 헬퍼 함수들(registerDependencies, registerProvider, registerRepository, registerUseCase, registerFactory)의 접근 제어자가 fileprivate에서 private extension으로 변경되었고, AppCoordinatorProtocol이 DIContainer에 등록되도록 추가되었습니다.
  • SceneDelegate에서 AppCoordinator 초기화 방식 변경: SceneDelegate에서 AppCoordinator를 직접 인스턴스화하는 대신, DIContainer를 통해 AppCoordinatorProtocol을 resolve하고 window를 할당하는 방식으로 변경되어 의존성 관리가 중앙화되었습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

이 PR은 내부 테스트 피드백을 반영하여 탭바 관련 로직을 수정하고, 전반적인 코드 품질을 개선하는 여러 변경 사항을 포함하고 있습니다. 주요 변경 사항은 AppCoordinator를 프로토콜 기반으로 리팩토링하여 의존성 주입을 통해 관리하도록 한 것입니다. 이로 인해 코드의 테스트 용이성과 모듈성이 향상되었습니다. 또한, 회원 탈퇴 로직, 온보딩 플로우 등 여러 부분에서 발견된 버그 수정 및 개선이 이루어졌습니다.

리뷰 결과, 몇 가지 중요한 점과 개선 사항을 발견했습니다.

  • DIContainer의 스레드 안전성 문제가 발생할 수 있는 변경 사항이 있습니다. 이는 앱의 안정성에 심각한 영향을 줄 수 있으므로 반드시 확인이 필요합니다.
  • WithdrawUseCaseImpl에서 에러 처리 로직을 조금 더 간결하게 개선할 수 있는 부분이 있습니다.
  • OnBoardingNotificationSheetViewController에서 다른 부분과 일관되지 않은 방식으로 화면 전환을 처리하고 있어, 아키텍처 일관성을 위해 수정이 필요합니다.

전반적으로 앱의 안정성과 유지보수성을 높이는 좋은 변경들이지만, 위에 언급된 사항들을 수정하여 더 완성도 높은 코드가 되기를 바랍니다.

@pinocchio22 pinocchio22 merged commit 8e8cbc5 into dev Nov 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix 버그 수정, 잔잔바리 수정, 병합 시 충돌 해결

Projects

None yet

Development

Successfully merging this pull request may close these issues.

내부 테스트 피드백 수정

2 participants