[3주차/필수과제] 컴포넌트화 및 UI단 설계를 진행한 내용을 적어주세요. #10
Replies: 28 comments 3 replies
-
컴포넌트화 및 UI단 설계느낀 점어디까지 컴포넌트로 만들고 어디까지 따로 패키지 분리를 해야 하는지 고민이 되었습니다. 한 Screen에서만 쓰이는 컴포넌트라면 내부에서 컴포저블 함수를 분리하고, 여러 Screen에서 쓰이는 컴포넌트라면 분리된 컴포넌트 패키지에 넣어두는 것으로 생각하고 설계를 시작했습니다. 하지만 2개의 Screen에서 쓰이지만 총 2번만 사용되는 컴포넌트와 1개의 Screen에서 쓰이지만 총 3번 쓰이는 컴포넌트가 있었습니다. 여러 개의 Screen에서 쓰이는 컴포넌트와 단순히 많이 쓰이는 컴포넌트들의 중요성을 어떻게 따져야 할지, 패키지 구조를 어떤 식으로 해야 효율적일지 고민했습니다. MVI를 적용하면서 그때그때 필요한 Event, State, SideEffect를 추가해가며 구현하다보니 더 어렵고 헷갈렸습니다. UiEvent가 정확히 어떤 걸 의미하는지, UiState와 SideEffect가 정확히 무엇인지 먼저 이해한 뒤에 어떤 식으로 구현할지Ui 로직 자체를 미리 생각해보고 설계하는 것이 참 중요하다는 걸 깨달은 과제였습니다. |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계느낀 점이거 될거 같은데? 라는 생각에 컴포넌트화를 진행하다 보면 코드가 너무 비대해져 가독성이 떨어지거나 약간의 차이로 합치는 것이 불가능할 때가 있는데, 이런걸 잘 캐치해서 시간을 과투자하지 않는 것이 중요한 것 같습니다. or 합치는 것이 가능하더라도 효율적이지 못하다면 가끔은 과감하게 넘어가는 것도 좋지 않을까요..ㅎㅎ 또한 UI로직 설계를 진행해보니, 생각만 하고 개발을 들어가는 것보다 미리 한 번 글이나 그림으로 작성하고 들어가는 것이 해당 화면에 필요한 기능이나 애니메이션이 명확히 보여 구현할 때 참 좋은 것 같습니다. |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계 컴포넌트화 및 UI단 설계를 진행하며 느낀점 및 어려웠던 점컴포넌트를 너무 작게 쪼개면 관리가 복잡해지고, 너무 크게 만들면 재사용성이 떨어질 수 있습니다. 저는 공통 컴포넌트를 모아 공통점과 차이점을 찾아서 컴포넌트를 설계했습니다. 초기 설계 시 재사용 가능성을 충분히 고려하지 않아, 후에 코드의 중복이 발생했습니다. 컴포넌트를 만들 때, 일반적인 사용 사례를 먼저 고려하고, Modifier 을 통해 커스터마이징 할 수 있도록 했습니다. 마지막으로 컴포넌트 네이밍에서 재사용성까지 생각해서 만들어야될 것 같아서 고민이 많았습니다. 이 부분은 다른 분들의 꿀팁을 얻고 싶습니다! |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계 느낀 점 |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계
|
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI 설계느낀점 및 어려웠던 점Compose에서 "재사용"이라는 개념이 워낙 중요하다 보니,
로 진행하려고 생각하고 있습니다. 하지만 이것도 프로젝트 규모나 상세 기능에 따라 항상 유동적으로 적용해야겠다고 되새기고 있습니다. |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계느낀점 및 어려웠던 점매 프로젝트를 할 때마다 힘들어하고 어려웠던 점이 컴포넌트화와 패키지 분리였는데 이번 세미나와 과제 덕분에 컴포넌트화에 대해 각 잡고 알아볼 수 있어서 좋았습니다. |
Beta Was this translation helpful? Give feedback.
-
https://marsh-supply-dc3.notion.site/3-131ccbd9b92880eda6d2c9e65c9b4e49?pvs=4 느낀 점코드를 작성하는 것보다 설계를 하는 것이 훨씬 어려웠습니다. 아무래도 한 번도 이런 식의 설계를 해본적이 없다보니, 어떻게 시작하고 어디까지 나누고 세분화하는지가 가장 어려웠던 것 같습니다. |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI 설계 느낀 점 및 어려웠던 점 |
Beta Was this translation helpful? Give feedback.
-
느낀점 여러번 재사용되는 부분들은 최대한 컴포넌트로 분리하려고 했습니다. 그리고 한 번만 사용되는 뷰들도 해당 뷰가 딱 분리되는 느낌이 들면 컴포넌트로 만드는 편이에요!(ex. 탑바) 근데 이 경우는 오로지 저의 느낌으로만 판단하는 경향이 있는 것 같아서 명확한 기준을 정하는 것이 중요할 것 같네요!! 그리고 패키지 분리를 할 때 여러 Screen에서 사용되는 컴포넌트는 저도 설계쪽은 완전 감자라😅 다른 분들은 어떤 기준을 가지고 설계하시는지 궁금하네요!! |
Beta Was this translation helpful? Give feedback.
-
느낀점
이와 같은 기준을 가지고 분리를 한다면 조금 더 가독성과 재사용성, 유지보수성을 고려하여 관리할 수 있을 것 같습니다. (하지만 이것도 실제 환경에서는 좀 융통성 있게 해야할 것 같아요..!! (ex: 처음에는 한 파일에 합쳐놨다가 필요 시 분리) |
Beta Was this translation helpful? Give feedback.
-
설계 기록느낀 점구현 전 설계를 자세하게 선행한 적이 없었는데, 이번 과제를 통해 제 코드를 다시 한번 돌아보며 재사용성과 유지보수성에 대해 많이 고민해보고 연습하는 시간을 가질 수 있었습니다! 컴포넌트화에선 무엇보다 이름에 대한 고민을 많이 했던 것 같아요.. 특정 화면에 대한 코드를 볼 때, 어떤 컴포넌트가 무슨 동작을 하는지 이름만으로 파악이 가능해야 이해가 빨리 될 것이라고 생각했습니다! 근데 아직까지도 이름들이 좀 거슬리네요ㅎㅎ 이번 과제같이 세부적인 설계를 처음부터 하고 코드를 구현했다면 지금보다 훨씬 깔끔하고 덜 복잡한 결과물이 나오지 않았을까 싶었습니다,, 그만큼 설계가 시스템을 만드는 과정에서 중요하다는 것을 깨닫게 된 과제였습니다! |
Beta Was this translation helpful? Give feedback.
-
설계 기록느낀 점항상 무작정 개발에 들어가고 이렇게 설계를 하나하나 세부적으로 한 적은 없는 것 같은데 다시 한번 저의 개발 습관? 행동에 대해서 돌아볼 수 있던 것 같습니다. 컴포넌트화를 했지만, 아직도 많이 부족한 것 같다는 생각이 듭니다. 다른 분들을 보고 많이 배워야할 것 같아요 ! |
Beta Was this translation helpful? Give feedback.
-
[노션링크] [느낀점] 지난번 앱잼 때 겹치는 컴포넌트들이 굉장히 많았는데 구현하기에 급급하다보니 이런 컴포넌트/뷰스케치 부분에 신경을 많이 못썼던 것이 아쉬움으로 남아있었습니다. 이번 과제 좋은 경험 및 로직을 배운 것 같습니다. 이를 토대로 곧 있을 합동세미나때도 처음부터 기반을 탄탄히 다지며 확장성 있고 효율적인 코드를 짜는 경험을 쌓아나가고 싶습니다. |
Beta Was this translation helpful? Give feedback.
-
1. 재사용성과 일관성 고려
2. 책임과 역할 분리
3. 직면했던 문제들
4. 개선된 점
|
Beta Was this translation helpful? Give feedback.
-
https://aboard-spoonbill-aed.notion.site/SOPT-3-131b106cd7d580e09401c3597cd9b8fc?pvs=4 느낀점 |
Beta Was this translation helpful? Give feedback.
-
https://www.notion.so/3-13099c2ffa5680369416fbaad41efbaa?pvs=4 느낀점저는 평소에 개발을 할때 생각없이 일단 부딪히는 스타일인데, 항상 개발하다 아맞다 이거! 하고 다시 돌아가서 고치는 경우가 다반사였습니다. 어떻게 고치지하다가 이번에 세미나에서 배운 내용을 보니 이런식으로 하면 개발 시간도 단축되고 효율적인 코드를 짤 수 있다고 느꼈습니다. |
Beta Was this translation helpful? Give feedback.
-
느낀점 |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI 설계https://www.notion.so/mindots/3-131b97a976b480b5b7ebf9edd3345cc6?pvs=4 느낀점컴포넌트화와 UI 단 설계를 진행하며, 컴포넌트 범위와 패키지 구조 설정이 큰 고민이었습니다. 한 Screen에서만 쓰이는 컴포넌트는 해당 Screen에 내부적으로 분리하여 사용하고, 여러 Screen에서 사용되는 컴포넌트는 별도로 관리하는 것이 합리적이라는 결론을 내렸습니다. 그러나 애매한 기준에 놓인 컴포넌트들이 있어 재사용성과 관리 용이성을 고려하여 상황에 따라 적절히 분리하는 것이 중요하다는 걸 느꼈습니다. 특히, MVVM 패턴을 적용하면서 UiEvent, UiState, SideEffect의 역할을 명확히 이해하고 설계하는 것이 필수적이라는 걸 깨달았습니다. 또한, 컴포넌트를 너무 작게 쪼개면 관리가 복잡해지고, 너무 크면 재사용성이 떨어질 수 있다는 점이 문제였습니다. 이를 해결하기 위해 공통 컴포넌트를 찾아 커스터마이징이 가능하도록 설계하고, 네이밍과 재사용성을 고려한 설계를 진행했습니다. 이번 과제를 통해 컴포넌트화는 단순히 재사용성뿐 아니라 가독성과 유지보수성을 위해서도 중요하다는 점을 깨달았으며, 개발 전 UI 설계를 통해 코드의 비대함과 중복을 방지하는 것이 필요하다는 생각이 들었습니다. |
Beta Was this translation helpful? Give feedback.
-
느낀점 |
Beta Was this translation helpful? Give feedback.
-
느낀점 컴포넌트화 할 때 네이밍을 어떻게 해야할 지, 어느정도로 쪼개야 할지에 대해 고민을 많이 했습니다. 컴포넌트화를 제대로 했는지는 좀 애매한 부분들이 있는 것 같습니다. 무리하게 컴포넌트로 만들면 추후 세미나에서 활용할 때 문제가 생기지 않을까 고민을 많이 했습니다. 그래도 컴포넌트화를 하고나서 보니 코드가 훨씬 간결하고 깔끔해서 가독성이 좋았고 편했습니다. 어려웠던 점
|
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계AND-SOPT-ANDROID/minseok-shin#6 (comment) 느낀점처음에는 구현에 급급하여 필요할 때마다 해당 컴포넌트를 즉흥적으로 만들어내는 방식으로 진행했습니다. 이로 인해 프로젝트 규모가 커지거나 추후에 변경사항이 생겼을 때 비효율적인 상황이 발생했습니다. 예를 들어, 동일한 UI 요소를 여러 번 구현하게 되면서 코드 중복이 심해지고, 유지보수가 어려워졌습니다. |
Beta Was this translation helpful? Give feedback.
-
3주차 노션 컴포넌트 |
Beta Was this translation helpful? Give feedback.
-
𝟏. 컴포넌트화 및 UI단 설계를 진행하며 고민한 내용들을 정리해서 남겨주세요. 𝟐. 컴포넌트화 및 UI단 설계를 진행하며 느낀점 및 어려웠던 점을 공유해주세요. |
Beta Was this translation helpful? Give feedback.
-
컴포넌트화 및 UI단 설계어려웠던 점 및 느낀점네이밍이 생각보다 어려웠던 것 같습니다. 공통 컴포넌트라서 지어놨을 때 하나의 스크린에서 쓰일 때는 이름이 어색한 경우가 많았었던 것 같습니다. 이렇게 해보면서 느낀점은 어려운 점이 많은 대신 설계를 잘 할 수 있는 능력이 된다면 복잡하게 구현한 후에 나누는 것이 아닌 처음부터 중복되는 부분에 퍼즐처럼 끼워넣는 재미를 느낄 수 있을 것 같습니다. 또한 후에 협업하는 사람들과도 코드를 보며 효율적인 소통을 할 수 있겠다고 생각 했습니다. |
Beta Was this translation helpful? Give feedback.
-
AND-SOPT-ANDROID/hwanggeun-yi#6 공통 컴포넌트중에 InputField랑 PasswordInputField랑 나눠놨는데 그 이유가 Password는 Show Hide도 있어서 이렇게 구현을 했었어요 그리고 최근에 XML을 할 때 CustomVIew를 사용한 경험이 있어요. 이때 ListRowV1을 사용해서 왼쪽이 UnVisible되는 방식으로 다양하게 사용할 수 있더라구요 |
Beta Was this translation helpful? Give feedback.
-
지금까지는 피그마를 보면서 바로 디자인 작업에 들어갔는데 미리 쓰이는 컴포넌트를 정리하고 설계하는 과정을 통해 더 빠르고 네이밍도 헷갈리지 않고 컴포넌트를 수월하게 정리할 수 있었습니다. 앞으로 UI 작업을 할때는 최소한 자주 쓰이는 컴포넌트를 정리하여 네이밍을 사전에 정하는 것이 시행착오를 줄일 수 있을 것 같다는 생각을 하였습니다. |
Beta Was this translation helpful? Give feedback.
-
컴포넌트를 만들 때 어떤 이름을 붙여야 할지에 대해 고민했습니다. 설계를 하면서 직관적으로 만들려고 했지만, 쉽지 않아서 계속 고민했습니다. 이런 어려움이 있었지만 컴포넌트화 작업을 통해 코드가 깔끔하게 정리돼서 가독성 및 기능 분리가 용이해졌습니다. 각 컴포넌트의 역할이 명확하게 돼서 유지보수성도 향상되었다고 느꼈습니다. |
Beta Was this translation helpful? Give feedback.
-
🎤 토론 과제 - 컴포넌트화 및 UI단 설계를 진행한 내용을 적어주세요.
𝟏. 컴포넌트화 및 UI단 설계를 진행하며 고민한 내용들을 정리해서 남겨주세요.
(노션 및 다른 툴을 이용해서 정리한 후 링크를 첨부하는 것을 추천드립니다.)
𝟐. 컴포넌트화 및 UI단 설계를 진행하며 느낀점 및 어려웠던 점을 공유해주세요.
(어떻게 해결했는지까지 적어주시면 좋습니다.)
Beta Was this translation helpful? Give feedback.
All reactions