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

만국박람회 [STEP 1] Ari, Jiseong #109

Merged
merged 7 commits into from
Dec 8, 2021

Conversation

leeari95
Copy link
Member

@leeari95 leeari95 commented Dec 7, 2021

@jae57
@lee_ari95 @yim2627

안녕하세요. 찌루루~
이번 만국박람회 프로젝트 리뷰 잘부탁드립니다. 😊 🙏🏻
JSON을 처음 다루는 것이라 어려운 부분이 있었지만, 생각보다 STEP 1 PR을 빠르게 보내드리게 되었습니다.
혹여나 저희가 놓친 부분이 있다면 번거롭더라도 한 번만 더 짚어주시면 감사하겠습니다!

고민했던 것

  • STEP 2 요구사항에 첨부되어있는 파일중 JSON 파일들을 살펴보고 예시 화면을 보면서 어떤 부분을 타입으로 설계해야 할지 고민해보았습니다.

    https://i.imgur.com/9o8QZAh.png

    https://i.imgur.com/IZCMLW0.png

  • 왜 JSON 관련 타입을 만들 때 프로퍼티를 상수가 아니라 변수로 만드는지 고민해보았습니다.

    • 저희가 생각하기엔 실시간으로 업데이트 되는 날씨의 API로 예를 들면, "temperature" 라는 키를 가진 값이 실시간으로 변경이 될 수 있으므로 그런 상황을 대비해 변수로 만드는 것인가? 라는 생각을 하였습니다.
  • 이번 프로젝트에선 JSON 포맷의 데이터를 파싱하기만 하지, 저희의 인스턴스를 JSON으로 파싱하진 않기 때문에 모델 타입에 Codable를 채택하여 사용하지도 않을 Encodable까지 채택해줄 필요는 없다고 판단하여 Codable이 아닌 Decodable만 채택해주었습니다.

궁금했던 것 / 조언을 얻고 싶은 부분

  • 현업에서 JSON 관련 타입을 설계할 때 사이트를 활용하여 설계하기도 할까요?
  • 위에 고민했던 부분 중에서 JSON 관련 타입을 만들 때 왜 프로퍼티를 상수가 아니라 변수로 만드는지 정확한 근거를 찾고 싶습니다.

@jae57
Copy link

jae57 commented Dec 8, 2021

@leeari95 @yim2627
안녕하세요! 아리, 지성!

고민했던점 잘 읽어보았습니다. 필요에 맞게 Decodable 로 잘 채택해주셨네요!

궁금했던 것 / 조언을 얻고 싶은 부분

현업에서 JSON 관련 타입을 설계할 때 사이트를 활용하여 설계하기도 할까요?

현업에서는 보통 추가되는 API 몇 개의 모델, 혹은 이미 있던 모델에서 값이 추가되는 경우가 많아서 저의 경우는 직접했지만, 처음 프로젝트를 구축하려한다거나 큰 프로젝트를 맡게된 경우라면 양이 굉장히 많을테니 한번 고려해볼 것도 같네요!

위에 고민했던 부분 중에서 JSON 관련 타입을 만들 때 왜 프로퍼티를 상수가 아니라 변수로 만드는지 정확한 근거를 찾고 싶습니다.

상수가 아니라 변수로 만들어야한다고 나와있는 곳이 있나요? 상수로도 만들 수 있습니다.
아시는 것과 같이 값을 바꿀것이 아니라면 상수로 선언하시는 것이 더 좋습니다.

@jae57 jae57 merged commit 474168a into yagom-academy:4-leeari95 Dec 8, 2021
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.

None yet

3 participants