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

전남대 Android_오진우_5주차 과제_Step2 #84

Open
wants to merge 21 commits into
base: fivejinw
Choose a base branch
from

Conversation

fiveJinw
Copy link

@fiveJinw fiveJinw commented Jul 26, 2024

안녕하세요 코치님! 오늘도 코드리뷰 부탁드립니다!

코드 작성하면서 어려웠던 점 & 느낀 점

  • DataBinding이 제대로 적용되고 있는지 의구심이 들었습니다.
    • 코드가 워낙 복잡해서 그런가, 데이터바인딩을 적용을 한 것이 더 읽기 불편하고, 관리하기 힘들다는 생각이 들었습니다.

멘토님께서 중점적으로 리뷰해주셨으면 하는 부분

  • DataBinding이 제대로 적용되고 있는지
    • DataBinding으로 관리할만한 부분이 추가로 있는지
  • 구조를 변경할만한 부분이 있는지

추가로 궁금한 점

  • UIState를 활용해서 검색된 데이터가 없는 상황, 저장된 데이터가 없는 상황 등을 관리하고 싶었습니다
    • 과제에서 LiveData를 사용하기를 권장하였기 때문에 UIState라는 클래스와 LiveData라는 값을 임의로 추가하여 관리해 볼 생각입니다.
    • 혹시 LiveData를 사용하였을 때는 따로 상태 정보를 관리하는 방법이 있는지 궁금합니다!

언제나 감사드립니다!

Copy link

@bigstark bigstark left a comment

Choose a reason for hiding this comment

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

진우님 5주차 step2 도 고생 많으셨어요! onBindViewHolder 에서 click listener 설정하는 것만 변경해주시면 좋을 것 같습니다 :)


DataBinding이 제대로 적용되고 있는지
DataBinding으로 관리할만한 부분이 추가로 있는지
구조를 변경할만한 부분이 있는지

databinding 은 잘 사용하고 계세요. 다만 data binding 은 xml 에서 관리되기 때문에 점점 더 복잡해지기도 해요. 그렇기 �때문에 개인적으로는 data binding 의 사용보다는 view binding 정도까지만 사용하는 것을 권장하고 있어요.

UIState를 활용해서 검색된 데이터가 없는 상황, 저장된 데이터가 없는 상황 등을 관리하고 싶었습니다
과제에서 LiveData를 사용하기를 권장하였기 때문에 UIState라는 클래스와 LiveData라는 값을 임의로 추가하여 관리해 볼 생각입니다.
혹시 LiveData를 사용하였을 때는 따로 상태 정보를 관리하는 방법이 있는지 궁금합니다!

LiveData 는 value 가 nullable 이 될 수 있기 때문에, 지금과 같은 처리는 항상 해야합니다. 상태 처리를 위해서라면 StateFlow 나 SharedFlow 를 사용하시는 것을 조금 더 권장드리고 싶어요!

category.text = place.category ?: ""
fun bind(place : Place, listener : OnClickPlaceListener){
binding.place = place
binding.listener = listener

Choose a reason for hiding this comment

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

listener 는 init 시점으로 옮겨주세요!

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