멘토 답변
리사이클러뷰
•
리사이클러뷰에 여러가지 아이템의 모양이 들어가야할 때는 viewType을 다르게하여 아이템을 여러개 넣는 것이 좋습니다.
•
리사이클러뷰 어댑터에 두가지 모양의 아이템을 사용하기 위하여 viewHolder와 item class를 추상화하는 과정을 라이브 코딩으로 진행했습니다.
•
interface를 이용하여 추상화를 잘 진행하면 여러개의 아이템 타입이 필요할 때 하나의 형태로 나타낼 수 있습니다.
네비게이션
•
navigation에서 백버튼을 눌렀을 때 기본적으로 fragment stack이 하나씩 뒤로가집니다. (선입후출 방식의 stack과 방식이 같습니다.)
•
특정 화면에서 백버튼을 눌렀을 때는 fragment의 stack대로 움직이는 것이 아니라 액티비티 자체를 종료시키는 코드를 같이 만들었습니다.
•
popBackStack을 이용하면 현재 fragment에서 fragment가 하나씩 뒤로가는 기능을 하는 함수입니다.
함수명 짓기
•
함수명을 지을 때는 축약어를 사용하기보단 전체 의미가 잘 느껴질 수 있도록 풀어서 작성하는 것이 좋습니다.
•
함수명은 동사로 시작하여 명령형의 형태를 하는 것이 좋고, 변수명은 명사의 형태를 하는 것이 좋습니다.
•
함수명 관련한 책 두권을 추천 드렸습니다. (개발자의 글쓰기, IT 개발자의 영어 필살기)
의존성
•
의존성에 관련하여 간략하게 설명하였습니다. 의존성이 높아지게되면 특정 객체의 수정이 어려워지고 스파게티 코드가 될 수 있기때문에 의존성이 높은 코드는 지양해야합니다.
•
fragment에서 특정 activity의 코드를 사용해야하는 경우가 생긴다면 액티비티 자체를 가져오는 것이 아니라, interface를 이용하여 필요한 부분만 가져올 수 있도록 하는 것을 권장드립니다. (delegate 패턴을 이용하면 사용할 수 있습니다.)