Conversation
…로 통일 1. Navigation Route - Route.kt: AddPlace(placeId) → AddPlace(googlePlaceId) 2. Contract 파일들 - MyTravelContract.kt: TravelPlace.placeId, ClickPlaceDetail.placeId, NavigateToTravelPlace.placeId → 모두 googlePlaceId - FollowTravelContract.kt: NavigateToFollowPlaceDetail.placeId → googlePlaceId - AddItineraryContract.kt: BookMarkPlace.placeId, NavigateToAddPlace.placeId → googlePlaceId - HomeContract.kt: ClickMyTravelPlace.placeId, NavigateToPlaceDetail.placeId → googlePlaceId - TravelDetailContract.kt: NavigateToTravelPlaceDetail.placeId → googlePlaceId - TravelHelperContract.kt: ClickPlace.placeId, NavigateToPlaceDetail.placeId → googlePlaceId 3. ViewModel 파일들 - MyTravelViewModel.kt: 모든 placeId → googlePlaceId - HomeViewModel.kt: 모든 placeId → googlePlaceId - AddItineraryViewModel.kt: 모든 placeId → googlePlaceId - FollowTravelViewModel.kt: placeId → googlePlaceId - TravelDetailViewModel.kt: placeId → googlePlaceId - AddPlaceViewModel.kt: 생성자 파라미터, Factory 등 모든 placeId → googlePlaceId - TravelHelperViewModel.kt: placeId → googlePlaceId 4. Entry 파일들 - HomeEntry.kt: 네비게이션 람다 파라미터 placeId → googlePlaceId - TravelEntry.kt: 네비게이션 람다 파라미터 및 Factory 호출 placeId → googlePlaceId - TravelHelperEntry.kt: 네비게이션 람다 파라미터 placeId → googlePlaceId
Walkthroughfeature/auth 모듈을 완전히 제거하고, 여러 feature 모듈에서 placeId를 googlePlaceId로 일관되게 이름 변경했으며, TravelDetailViewModel에서 edit mode 처리 및 duration 파싱을 강화했습니다. 또한 네비게이션 경로와 UI 컴포넌트 파라미터를 업데이트했습니다. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes 🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
feature/travel/src/main/java/com/yapp/ndgl/feature/travel/addplace/AddPlaceViewModel.kt (1)
42-44: 사진 조회 재시도 딜레이는 상수화(또는 설정화)해 두는 편이 좋습니다.현재 하드코딩된
delay(1000)은 운영 상황 변화 시 조정 비용이 큽니다. 재시도 횟수/지연시간을 상수 또는 설정값으로 분리해 주세요.예시 변경안
+ companion object { + private const val PLACE_PHOTO_FETCH_RETRY_COUNT = 3 + private const val PLACE_PHOTO_FETCH_DELAY_MS = 1_000L + } + private fun loadPlacePhotos() = viewModelScope.launch { - repeat(3) { - delay(1000) + repeat(PLACE_PHOTO_FETCH_RETRY_COUNT) { + delay(PLACE_PHOTO_FETCH_DELAY_MS) val result = suspendRunCatching { placeRepository.getPlacePhotos(googlePlaceId) }Based on learnings: In the travel feature, retain the 1-second delay before photo fetch but make it configurable and documented.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@feature/travel/src/main/java/com/yapp/ndgl/feature/travel/addplace/AddPlaceViewModel.kt` around lines 42 - 44, The hardcoded retry delay in AddPlaceViewModel (repeat loop calling suspendRunCatching { placeRepository.getPlacePhotos(googlePlaceId) } with delay(1000)) should be extracted into a configurable constant or parameter so it can be tuned without code changes; refactor by introducing a named constant (or constructor/config property) for retryDelayMillis (and optionally retryCount) in AddPlaceViewModel (or its companion/object) with a default of 1000ms, replace delay(1000) with that symbol, and add a short comment documenting the default and that it’s configurable.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@feature/travel/src/main/java/com/yapp/ndgl/feature/travel/followtravel/component/TravelMap.kt`:
- Around line 45-46: The current use of require(places.isNotEmpty()) in
TravelMap causes an exception on empty input; change TravelMap to handle empty
lists gracefully by checking places.isEmpty() and either returning early from
the composable (e.g., return@Composable) or rendering a fallback UI/message
instead of throwing; update the code around the TravelMap composable (the
function named TravelMap and any callers relying on it) to use this conditional
branch so the app skips map rendering when places is empty rather than crashing.
---
Nitpick comments:
In
`@feature/travel/src/main/java/com/yapp/ndgl/feature/travel/addplace/AddPlaceViewModel.kt`:
- Around line 42-44: The hardcoded retry delay in AddPlaceViewModel (repeat loop
calling suspendRunCatching { placeRepository.getPlacePhotos(googlePlaceId) }
with delay(1000)) should be extracted into a configurable constant or parameter
so it can be tuned without code changes; refactor by introducing a named
constant (or constructor/config property) for retryDelayMillis (and optionally
retryCount) in AddPlaceViewModel (or its companion/object) with a default of
1000ms, replace delay(1000) with that symbol, and add a short comment
documenting the default and that it’s configurable.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 299b48d7-079f-4b20-b4af-1a3dd96fa899
📒 Files selected for processing (32)
feature/auth/.gitignorefeature/auth/build.gradle.ktsfeature/auth/consumer-rules.profeature/auth/src/main/AndroidManifest.xmlfeature/auth/src/main/java/com/yapp/ndgl/feature/auth/AuthScreen.ktfeature/auth/src/main/java/com/yapp/ndgl/feature/auth/AuthViewModel.ktfeature/home/src/main/java/com/yapp/ndgl/feature/home/main/HomeContract.ktfeature/home/src/main/java/com/yapp/ndgl/feature/home/main/HomeScreen.ktfeature/home/src/main/java/com/yapp/ndgl/feature/home/main/HomeViewModel.ktfeature/home/src/main/java/com/yapp/ndgl/feature/home/navigation/HomeEntry.ktfeature/splash/src/main/java/com/yapp/ndgl/feature/splash/SplashScreen.ktfeature/travel-helper/src/main/java/com/yapp/ndgl/feature/travelhelper/main/TravelHelperContract.ktfeature/travel-helper/src/main/java/com/yapp/ndgl/feature/travelhelper/main/TravelHelperScreen.ktfeature/travel-helper/src/main/java/com/yapp/ndgl/feature/travelhelper/main/TravelHelperViewModel.ktfeature/travel-helper/src/main/java/com/yapp/ndgl/feature/travelhelper/navigation/TravelHelperEntry.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/additinerary/AddItineraryContract.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/additinerary/AddItineraryScreen.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/additinerary/AddItineraryViewModel.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/addplace/AddPlaceViewModel.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/component/PlaceInfoTab.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/followtravel/FollowTravelContract.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/followtravel/FollowTravelScreen.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/followtravel/FollowTravelViewModel.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/followtravel/component/TravelMap.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/mytravel/MyTravelContract.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/mytravel/MyTravelScreen.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/mytravel/MyTravelViewModel.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/mytravel/UpcomingTravelCardSection.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/navigation/TravelEntry.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/traveldetail/TravelDetailContract.ktfeature/travel/src/main/java/com/yapp/ndgl/feature/travel/traveldetail/TravelDetailViewModel.ktnavigation/src/main/java/com/yapp/ndgl/navigation/Route.kt
💤 Files with no reviewable changes (5)
- feature/auth/.gitignore
- feature/auth/src/main/AndroidManifest.xml
- feature/auth/build.gradle.kts
- feature/auth/src/main/java/com/yapp/ndgl/feature/auth/AuthViewModel.kt
- feature/auth/src/main/java/com/yapp/ndgl/feature/auth/AuthScreen.kt
개요
변경사항
테스트 체크 리스트
Summary by CodeRabbit
릴리스 노트
새로운 기능
버그 수정
제거됨