Skip to content

[REFACTOR] 마이페이지 러닝기록 상세페이지 / 액티비티의 전역변수를 뷰모델로 이전#269

Merged
leeeha merged 1 commit intodevelopfrom
feature/refactor-mypage-running-history-viewmodel
Oct 29, 2023
Merged

[REFACTOR] 마이페이지 러닝기록 상세페이지 / 액티비티의 전역변수를 뷰모델로 이전#269
leeeha merged 1 commit intodevelopfrom
feature/refactor-mypage-running-history-viewmodel

Conversation

@leeeha
Copy link
Copy Markdown
Member

@leeeha leeeha commented Oct 27, 2023

📌 개요

✨ 작업 내용

  • 이슈 내용 참고 부탁드립니다!

✨ PR 포인트

뷰모델을 이용해서 액티비티 생명주기와 무관하게 데이터들을 저장할 수 있다는 건 좋은데,
그에 따라 뷰모델에 getter, setter 관련 코드량이 증가한 것은 그닥 좋은 거 같지 않습니다..!
더 나은 방법이 있을까요?!

@leeeha leeeha added 하은 🐰 하은 담당 REFACTOR 🧹 코드 리팩토링 labels Oct 27, 2023
@leeeha leeeha requested a review from unam98 October 27, 2023 14:54
@leeeha leeeha self-assigned this Oct 27, 2023
Copy link
Copy Markdown
Collaborator

@unam98 unam98 left a comment

Choose a reason for hiding this comment

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

저도 최근에 다른 파일 작업하면서 같은 고민을 하고 있던 참이라 여러 사람들의 의견을 구해봤는데 아래와 같은 답변을 받았습니다.

  • 변수 자체를 public으로 열고 set을 private으로 만들면 get을 만들 필요가 없어지니 코드량이 줄어들 수 있을 것이다.
    -> 이 방법에 따른 장단점은 저희가 상황에 따라 직접 판단해야 할 것 같습니다.

  • 읽기 편하게 정리가 필요한 것이지 단순히 코드량이 많다고 가독성이 떨어지는 것은 아니다.

  • 변수 스코프를 너무 넓게 잡았거나( 함수들을 묶어서 Class를 분리하든 변수를 묶어서 data class를 만들든) 코드 분리가 필요한 것일 수 있다.
    -> 이 방법이 fit한 답변이라고 생각합니다. 변수 여러개로 나눠놓은 걸 하나의 data class로 묶어서 관리해도 문제가 없다고 하면 이렇게 하는 것이 코드량을 줄이는 것에 도움이 될 것 같습니다. 하지만 이렇게 하면 나중에 세밀한 핸들링이 필요한 상황에서는 유연하게 대처하기 어려워 data class를 다시 여러개의 변수로 쪼개야 하는 상황이 생길 수도 있을 것 같습니다.

제 개인적인 생각은, 일단 기존의 방법대로 계속 진행하되 "어 좀 너무 길어지는데" 싶으면 그때 위의 방법으로 상황 보고 적절한 조치를 취하면 되지 않을까 생각합니다.

@leeeha
Copy link
Copy Markdown
Member Author

leeeha commented Oct 29, 2023

자세한 답변 감사합니다!! 저도 앞으로 개발 이어나가면서 더 좋은 방식이 무엇인지 계속 고민해봐야 할 거 같습니다!

@leeeha leeeha merged commit 51aef0d into develop Oct 29, 2023
@leeeha leeeha deleted the feature/refactor-mypage-running-history-viewmodel branch October 30, 2023 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

REFACTOR 🧹 코드 리팩토링 하은 🐰 하은 담당

Projects

Development

Successfully merging this pull request may close these issues.

[REFACTOR] 마이페이지 러닝기록 상세페이지 / 전역변수 대신 뷰모델에 데이터 저장하도록 변경

2 participants