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

[#10] 버스 검색 기능 구현 #16

Merged
merged 3 commits into from
Oct 16, 2024
Merged

Conversation

dbqls200
Copy link
Collaborator

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요

  • 사용자가 버스 번호를 입력하면, 미리 로딩된 CSV 파일에서 해당 버스 번호와 일치하는 결과만 보여주는 검색 기능을 구현했습니다.

💬 리뷰 요구사항

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

  • 구조체 만들 때, 직관적으로 이해하기 쉽도록 변수 네이밍 했는데 괜찮은지 봐주세용

- 사용자가 입력한 버스 번호에 대한 데이터만 필터링하는 작업
@dbqls200 dbqls200 self-assigned this Oct 15, 2024
@dbqls200 dbqls200 linked an issue Oct 15, 2024 that may be closed by this pull request
3 tasks
stopName: response[3],
romanizedStopName: response[4],
xCoordinate: response[5],
yCoordinate: String(response[6].dropLast(1))))
Copy link
Collaborator

Choose a reason for hiding this comment

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

이건 그냥 궁금한건데, 마지막에 dropLast(1)이 들어간 이유가 무엇인가요?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

파싱해서 결과 확인해보니, y좌표 뒤에 37.480651/r 이런식으로 개행문자인 /r이 포함되어 있더라구요.
그래서 제거해주고 값 저장하고 있습니다 :)

Copy link
Collaborator

Choose a reason for hiding this comment

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

오 그렇군요!

@MainActor
private func apply(_ searchResponse: [[String]]) {
for response in searchResponse {
self.allBusStops.append(BusStopInfo(busNumber: response[0],
Copy link
Collaborator

Choose a reason for hiding this comment

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

append 하기 전에 N/A 값이 있는지 확인하는 차원에서 열의 개수를 세는 것은 어떤가요? searchResponse의 count를 통해 알 수 있을 것 같아요

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

csv 파일 자체에서 nil 값이 오는 건 고려하지 못했네요 🥲 !!
수정해서 올렸는데 확인 부탁드려요.


  1. model 자체를 Optional 타입으로 변경했습니다.
  2. csv 파일에서 빈 값이 넘어올 때 "" 빈 String으로 오는데, "" 대신 nil 값을 넣도록 했습니다.

Optional 타입으로 변경하고 빈 값일 경우 nil을 넣도록 한 이유는,

  • 각 필드에 유효한 데이터가 있는지 명시적으로 확인하기 위해
  • 빈 데이터일 경우에도 유연하게 대처하기 위해서 입니다.

(+ 추가로 busNumberbusOrder는 추후 사용하기 편하도록 Int 타입으로 변환해서 갖고 있도록 수정했어요!)

Copy link
Collaborator

Choose a reason for hiding this comment

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

수정 감사합니다!

@Minkyeong-Choi
Copy link
Collaborator

변수 네이밍은 좋은 것 같습니다!

…y values during CSV parsing

- csv 파일 파싱하는 과정에서 빈 값을 처리하기 위해 모델 프로퍼티를 Optional Type으로 수정
- 빈 값으로 들어오는 경우도 유연하게 대처하기 위함
…rom search results

- 사용자가 검색한 버스 번호에 대한 결과를 보여주기 위해 버스 번호만 뽑아내는 기능 추가
Copy link
Collaborator

@Minkyeong-Choi Minkyeong-Choi left a comment

Choose a reason for hiding this comment

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

수고하셨습니다!

@dbqls200 dbqls200 merged commit 1d15932 into dev Oct 16, 2024
@dbqls200 dbqls200 deleted the feat/10-bus-number-search branch October 16, 2024 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

버스 번호 검색 기능
2 participants