Skip to content

Conversation

@circle0802
Copy link
Member

@circle0802 circle0802 commented Oct 29, 2025

κ°œμš”

연도 μ—­μˆœμœΌλ‘œ λ³€κ²½

μž‘μ—…μ‚¬ν•­

  • 연도 μ—­μˆœμœΌλ‘œ λ³€κ²½

UI

Summary by CodeRabbit

릴리슀 λ…ΈνŠΈ

  • λ¦¬νŒ©ν„°

    • 연도 ν•„ν„° μ˜΅μ…˜μ˜ μ •λ ¬ μˆœμ„œλ₯Ό μ‘°μ •ν•˜μ—¬ 연도 선택 흐름을 μ—­μˆœμœΌλ‘œ ν‘œμ‹œν•©λ‹ˆλ‹€.
  • μŠ€νƒ€μΌ

    • 검색 μž…λ ₯ ν•„λ“œμ˜ μ•ˆλ‚΄ 문ꡬλ₯Ό 더 직관적인 μ„€λͺ…μœΌλ‘œ λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.

@circle0802 circle0802 self-assigned this Oct 29, 2025
@circle0802 circle0802 added the ♻️refactor μ½”λ“œ λ¦¬νŒ©ν† λ§ ν•  경우 label Oct 29, 2025
@circle0802 circle0802 linked an issue Oct 29, 2025 that may be closed by this pull request
@coderabbitai
Copy link

coderabbitai bot commented Oct 29, 2025

Walkthrough

ReviewFilterμ—μ„œ 연도 λͺ©λ‘μ˜ μˆœμ„œλ₯Ό μ—­μˆœ(2026β†’2020)으둜 λ³€κ²½ν•˜κ³ , μΈλ±μŠ€β†’μ—°λ„ λ§€ν•‘ λ‘œμ§μ„ 이에 맞게 μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€. SearchReviewμ—μ„œλŠ” 검색 μž…λ ₯ ν•„λ“œμ˜ ν”Œλ ˆμ΄μŠ€ν™€λ” 문ꡬλ₯Ό κ΅μ²΄ν–ˆμŠ΅λ‹ˆλ‹€.

Changes

Cohort / File(s) λ³€κ²½ 사항 μš”μ•½
연도 μ˜΅μ…˜ μˆœμ„œ μ—­μˆœ λ³€κ²½
Projects/Presentation/Sources/ReviewFilter/ReviewFilterViewController.swift
연도 λͺ©λ‘ μ΄ˆκΈ°ν™”μ™€ μ»¬λ ‰μ…˜ λ·° 선택 μ²˜λ¦¬μ—μ„œ 연도 배열을 2020...2026 β†’ 2026...2020으둜 μ—­μˆœ λ³€κ²½. 인덱슀 기반 λ§€ν•‘(μ„ νƒλœ 연도) 둜직 μ—…λ°μ΄νŠΈ.
검색어 ν”Œλ ˆμ΄μŠ€ν™€λ” λ³€κ²½
Projects/Presentation/Sources/SearchReview/SearchReviewViewController.swift
searchTextField의 placeholder λ¬Έμžμ—΄μ„ "검색어λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”"μ—μ„œ "μ°Ύκ³  싢은 λ©΄μ ‘ ν›„κΈ°λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”"둜 λ³€κ²½. μ œμ–΄ 흐름은 λ³€κ²½λ˜μ§€ μ•ŠμŒ.

Sequence Diagram(s)

sequenceDiagram
    participant UI as CollectionView (Year)
    participant VC as ReviewFilterViewController
    participant Relay as selectedYearRelay

    rect rgb(240,248,255)
    UI->>VC: user selects cell(index)
    note right of VC: years = [2026,2025,...,2020]
    end

    VC->>VC: year = years[index]  %% μΈλ±μŠ€β†’μ—°λ„ λ§€ν•‘ (μ—­μˆœ 반영)
    VC->>Relay: selectedYearRelay.accept(year)
    Relay-->>VC: (binding updates UI/state)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Review focus: μΈλ±μŠ€β†’μ—°λ„ 맀핑이 λͺ¨λ“  선택/μ΄ˆκΈ°ν™” μ‹œ μΌκ΄€λœμ§€ 확인
  • κ²€ν†  ꢌμž₯ 파일:
    • ReviewFilterViewController.swift (λ§€ν•‘/바인딩 확인)
    • SearchReviewViewController.swift (문ꡬ λ³€κ²½ 영ν–₯ 검증)

Possibly related PRs

Suggested reviewers

  • leejh08
  • cyj513
  • juyeong525

Poem

🐰 연도λ₯Ό λ’€μ§‘μ–΄ λ†“μ•˜λ”λ‹ˆ,
μ΅œμ‹ λΆ€ν„° μ°¨λ‘€μ°¨λ‘€ λ‚΄λ €μ˜€λ„€.
μž‘μ€ 인덱슀 ν•˜λ‚˜ λ°”λ€Œμ—ˆμ„ 뿐인데,
μ„ νƒμ˜ λ°©ν–₯이 μƒˆλ‘œμ›Œμ‘Œκ΅¬λ‚˜. ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
βœ… Passed checks (2 passed)
Check name Status Explanation
Description Check βœ… Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check βœ… Passed PR 제λͺ© "πŸ”— :: [#337] 연도 μ—­μˆœμœΌλ‘œ λ³€κ²½"은 λ³€κ²½μ‚¬ν•­μ˜ μ£Όμš” λ‚΄μš©μ„ μ •ν™•ν•˜κ²Œ λ°˜μ˜ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. ReviewFilterViewControllerμ—μ„œ 연도 μ˜΅μ…˜μ„ 2020...2026μ—μ„œ 2026...2020으둜 μ—­μˆœμœΌλ‘œ λ³€κ²½ν•œ 것이 핡심 변경사항이며, μ΄λŠ” 제λͺ©μ—μ„œ λͺ…ν™•ν•˜κ²Œ ν‘œν˜„λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 제λͺ©μ€ ꡬ체적이고 λͺ…ν™•ν•˜μ—¬ νŒ€μ›λ“€μ΄ 컀밋 νžˆμŠ€ν† λ¦¬λ₯Ό μŠ€μΊ”ν•  λ•Œ μ£Όμš” 변경사항을 μ‰½κ²Œ 이해할 수 μžˆμŠ΅λ‹ˆλ‹€. λͺ¨λ“  세뢀사항을 포함할 ν•„μš”λŠ” μ—†λ‹€λŠ” 지침에 따라, SearchReviewViewController의 placeholder ν…μŠ€νŠΈ λ³€κ²½ 같은 뢀가적인 변경사항이 제λͺ©μ— ν¬ν•¨λ˜μ§€ μ•Šμ€ 것은 λ¬Έμ œκ°€ λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
✨ Finishing touches
  • πŸ“ Generate docstrings
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/(#337)-year_reversed

πŸ“œ Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 4049f98 and d8ef17e.

πŸ“’ Files selected for processing (1)
  • Projects/Presentation/Sources/SearchReview/SearchReviewViewController.swift (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: JOBIS_DSM_iOS | JOBIS v2 CI | Build - iOS
  • GitHub Check: JOBIS_DSM_iOS | JOBIS v2 CI | Test - iOS
πŸ”‡ Additional comments (1)
Projects/Presentation/Sources/SearchReview/SearchReviewViewController.swift (1)

24-24: ν”Œλ ˆμ΄μŠ€ν™€λ” ν…μŠ€νŠΈ κ°œμ„  확인!

검색 ν•„λ“œμ˜ ν”Œλ ˆμ΄μŠ€ν™€λ”λ₯Ό "검색어λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”"μ—μ„œ "μ°Ύκ³  싢은 λ©΄μ ‘ ν›„κΈ°λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”"둜 λ³€κ²½ν•˜μ—¬ μ‚¬μš©μžμ—κ²Œ 더 λͺ…ν™•ν•œ μ•ˆλ‚΄λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ‚¬μš©μž κ²½ν—˜μ„ κ°œμ„ ν•˜λŠ” 쒋은 λ³€κ²½μž…λ‹ˆλ‹€.


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.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cyj513
Copy link
Contributor

cyj513 commented Oct 29, 2025

All File Checked βœ…

βœ… Auto Pull Request SwiftLint Success!!!!

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
Projects/Presentation/Sources/ReviewFilter/ReviewFilterViewController.swift (1)

246-251: 연도 μ—­μˆœ μ •λ ¬ 둜직이 μ •ν™•ν•˜κ²Œ κ΅¬ν˜„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ΅œμ‹  연도가 λ¨Όμ € ν‘œμ‹œλ˜λ„λ‘ 변경이 μ˜¬λ°”λ₯΄κ²Œ μ μš©λ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ λ™μΌν•œ 연도 λ°°μ—΄ 생성 둜직이 line 263에도 μ€‘λ³΅λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

쀑볡을 μ œκ±°ν•˜κΈ° μœ„ν•΄ 연도 배열을 ν”„λ‘œνΌν‹°λ‘œ μΆ”μΆœν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€:

 public final class ReviewFilterViewController: BaseViewController<ReviewFilterViewModel> {
     private let filterApplyButtonDidTap = PublishRelay<Void>()
     private var selectedYear: String = ""
     private let selectedYearRelay = BehaviorRelay<String>(value: "")
     private var selectedJobIndex: Int?
     private var selectedYearIndex: Int?
+    private let years = (2020...2026).reversed().map { String($0) }

그런 λ‹€μŒ 두 κ³³μ—μ„œ 이 ν”„λ‘œνΌν‹°λ₯Ό μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½:

     private func handleYearSelection(at indexPath: IndexPath) {
         if let previousIndex = selectedYearIndex,
            let previousCell = yearsCollectionView.cellForItem(at: IndexPath(item: previousIndex, section: 0)) as? ReviewMajorCollectionViewCell {
             previousCell.isCheck = false
         }

         if let cell = yearsCollectionView.cellForItem(at: indexPath) as? ReviewMajorCollectionViewCell {
             cell.isCheck = true
             selectedYearIndex = indexPath.item

-            let years = (2020...2026).reversed().map { String($0) }
             if indexPath.item < years.count {
                 selectedYear = years[indexPath.item]
                 selectedYearRelay.accept(selectedYear)
             }
         }
     }
     public override func configureViewController() {
         viewWillAppearPublisher.asObservable()
             .bind {
                 self.hideTabbar()
                 self.setSmallTitle(title: "ν•„ν„° μ„€μ •")
                 self.navigationController?.navigationBar.prefersLargeTitles = false
             }
             .disposed(by: disposeBag)

-        let years = (2020...2026).reversed().map { String($0) }
-
         Observable.just(years)
             .bind(to: yearsCollectionView.rx.items(
πŸ“œ Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 5a3231d and 4049f98.

πŸ“’ Files selected for processing (1)
  • Projects/Presentation/Sources/ReviewFilter/ReviewFilterViewController.swift (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: JOBIS_DSM_iOS | JOBIS v2 CI | Test - iOS
  • GitHub Check: JOBIS_DSM_iOS | JOBIS v2 CI | Build - iOS
πŸ”‡ Additional comments (1)
Projects/Presentation/Sources/ReviewFilter/ReviewFilterViewController.swift (1)

263-273: 이미 line 246-251에 λŒ€ν•œ 리뷰 μ½”λ©˜νŠΈμ—μ„œ 이 μ½”λ“œ 쀑볡에 λŒ€ν•΄ λ‹€λ£¨μ—ˆμŠ΅λ‹ˆλ‹€.

@cyj513
Copy link
Contributor

cyj513 commented Oct 29, 2025

All File Checked βœ…

βœ… Auto Pull Request SwiftLint Success!!!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

♻️refactor μ½”λ“œ λ¦¬νŒ©ν† λ§ ν•  경우

Projects

None yet

Development

Successfully merging this pull request may close these issues.

연도 μ—­μˆœμœΌλ‘œ λ³€κ²½

4 participants