-
Notifications
You must be signed in to change notification settings - Fork 82
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
[FE][Team23] 첫 번째 PR - 요구사항 분석 & 컴포넌트 설계 #6
Conversation
## 1. 구현 결과 | ||
- 데모 사이트 or GIF | ||
|
||
## 2. 구현 내역 | ||
- [x] | ||
|
||
## 3. 고민 & 질문 | ||
|
||
## 4. 이후 계획 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ISSUE, PR template 좋네요ㅎㅎ
|
||
</br> | ||
|
||
## 🔥 Ground Rule |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ground Rule 구체적이네요. 좋습니다.
…ronment Environment ios/#5 setup environment
* chore: iOS 프로젝트 세팅 * chore: 라이브러리 설치
안녕하세요 Millie, Oliver~ 리뷰를 맡은 Daisy입니다. 개발에 앞서 Ground Rules, Component 설계 등을 진행하셨군요! 리드미 잘 봤습니다. 질문에 답변을 드리자면,
가능한 세부적으로 분석하는게 좋다고 생각합니다. 같은 요구사항을 보고도 서로 다른 방향으로 이해를 할 수도 있는 것이고, 기능을 세부적으로 분석하는 과정 자체가 설계의 한 부분이기 때문입니다. 남겨주신 위키 확인해보니, 지금 작성해주신 요구 사항 분석 리스트 정도도 충분해 보입니다~ 하지만 Millie와 Oliver 놓친 feature 들이 있을 수 있으니, 데일리 스크럼 / 페어 프로그래밍 시간 등을 활용해서 자신이 맡은 기능이 의도에 맞게 구현되고 있는지 함께 점검해보는 시간을 가져보면 좋을 것 같네요~🙂
재사용 컴포넌트를 설계할 때 자주 하게 되는 고민이네요~ㅎㅎ 컴포넌트 이름은 컴포넌트의 역할과 책임이 잘 드러나게 짓는게 좋은데, 이건 두 분이 Modal 컴포넌트를 어느 정도로 추상화할 건지에 달려있습니다. 이 Modal 컴포넌트가 가진 역할은 무엇인가요? 단순히 toggle 기능인가요? 그럼 toggle 기능을 갖춘 Modal 컴포넌트를 만들어서 ReservationModal을 별도로 구현하는데 활용할 수 있겠네요.
재사용 컴포넌트를 설계하는 것에는 정답은 없고, 또 처음부터 재사용 컴포넌트를 완벽하게 만드는 건 누구에게나 어려운 일이라고 생각합니다. Modal을 만들어보시면 각 Modal 중복되는 부분이 분명 존재할 거예요. 그럼 그때 기존에 추상화했었던 Modal 컴포넌트를 리팩터링 해나가는 것도 좋다고 생각합니다. 컴포넌트 설계 관련 자료 전달 드리니 참고해보시면 좋을 것 같아요!
이건 팀 컨벤션 정하기 나름인 것 같은데, 저는 재사용 컴포넌트는 주로 SearchBar구성하는 자식컴포넌트가 있다면 SearchBar directory에 해당 컴포넌트 폴더/파일들을 놓고 , entry point가 되는 Index 파일에 SearchBar를 구현해서 SearchBar가 entry point가 되는 상위 컴포넌트라는 걸 명시할 것 같아요. 어찌 됐든 directory로 컴포넌트를 계층을 표현하는 건 Millie와 Oliver 방식과 같네요. 컴포넌트끼리 의존성이 강해진다는 의미가 제가 이해한 의존성을 의미하는 것이 맞다면, 이것은 디렉터리 구조라기 보다는 props로 어떤 값까지 내려받는지, state 위치 등을 살펴봐야 할 것 같은데요! 이런 부분에서 의존성을 느슨하게 하는 방법을 고민해보면 좋을 것 같습니다.😄 |
저희가 구상한 Modal 컴포넌트의 역할은 아래와 같습니다.
이러한 역할을 하는 component의 이름을 단순히 Modal로 정하면 어떤 모달창인지 너무 추상적일 것 같아서 ReservationModal로 정해야할지 고민했습니다. 조언주신 대로 위와 같은 역할만 담당하는 Modal 컴포넌트를 만들고, Modal 컴포넌트를 이용하는 구체적인 컴포넌트인 ReservationModal을 만드는 방향으로 컴포넌트를 설계해보려 합니다. |
|
[iOS] 검색바를 터치하면 검색용 화면으로 이동할 수 있음 #6
상단 앱바 구현하기 - 상단 앱바의 상태를 OPEN, CLOSED 로 구별 - 상태에 따라 DeafultAppBar, SearchAppBar로 분리 여행지 리스트 구현하기 - viewmodel에서 더미 데이터를 만들어서 LazyRow로 진행
초기 화면에서 NavigationItem.title 자리에 SearchBar 를 넣기에 성공했습니다. 덕분에, searchBar 와 StatusBar 사이 간격이 가까워졌습니다. 화면 전환시 title 생성, "뒤로", "지우기" 버튼은 아직 구현 중입니다.
[#6] feat: searchBar 화면 전환 및 초기 화면에서 구성
[#6] feat: Search bar 와 Search Controller 의 깊은 이해를 수반한 작업
[iOS] �SearchVC - searchBar 구현
[#6] feat: 숙소 찾기 VC 에 CollectionView, HeaderView, Cell 요소 작업
- YearViewModel - MonthViewModel - DayViewModel - FilteringCalendarEntity - Date - Month - Day jeremy0405/airbnb/#6
- CalendarViewController - WeekDaysStackView - CalendarViewCell - CalendarHeaderView - CalendarCollectionViewDataSource - CalendarCollectionViewDelegate - SectionLayoutFactory jeremy0405/airbnb/#6
- UIView+Extension jeremy0405/airbnb/#6
- tableViewCell 터치시 해당 뷰컨트롤러의 뷰 띄우는 로직 구현 - 날짜 선택시 선택한 날짜 tableView의 dataSource에 전달하는 로직 구현 jeremy0405/airbnb/#6
- 관련 레이아웃 변경 - iOS 기기 대응 jeremy0405/airbnb/#6
- CustomSlider - Histogram jeremy0405/airbnb/#6
- 불필요한 ViewController 생성자 제거 - Filtering 뷰 레이아웃 수정 jeremy0405/airbnb/#6
안녕하세요 Daisy! Millie & Oliver 입니다.
첫 PR을 보냅니다.
3주 동안 잘 부탁드립니다!
1. 구현 내역
2. 고민 & 질문
기능 요구사항을 분석하고 컴포넌트 단위로 설계하면서 궁금한 점이 있습니다.
1. 기능 요구사항 분석에 관한 질문
2. 컴포넌트 이름에 관한 질문
컴포넌트의 이름을 구체적으로 명명하면 재사용성이 떨어지고, 추상적으로 명명하면 역할에 대한 분명한 의미가 약해져서, 컴포넌트의 이름을 지을 때 어느정도로 구체적으로 지어야 할지를 모르겠습니다.
Modal
로 지으면 향후 모달이 필요한 다른 곳에서도 쓰일 수는 있지만, 예약창 모달이라는 의미는 약해지고, 그렇다고ReservationModal
로 지으면 정확한 의미 전달은 되지만, 향후 모달이 필요한 다른 곳에서는 쓰일 수 없습니다.Modal
과ReservationModal
둘 다 만드는게 맞을까요? 아니면 둘 중 하나를 만드는게 좋다면 어떤 방식을 추천하시는지 궁금합니다.3. 컴포넌트 설계에 관한 질문
재사용될 수 있는 컴포넌트
와컴포넌트가 결합된 컴포넌트(한 번밖에 안 쓰이는)
가 현재 같은 폴더 내에 있어서 헷갈리는데, 이들을 구분할 수 있는 convention(폴더구조 관련..?) 같은게 있을까요?3. 이후 계획