23.07.11(화)
하루 요약
- 10시 ~ 20시 : 개발
- 20시 ~ 22시 : DND
- 22시 ~ 23시 : DND 회의
오늘 한 일
- Gloddy 개발
- Zustand 이용한 회원가입 페이지 상태 관리
- 그루핑 페이지 상태 관리 (진행 중)
- frontend 공부
- 변경에 유연한 컴포넌트
- 좋은 코드
오늘 배운 내용 요약
- 클린 코드
- 컴포넌트를 만들 때, 요소의 기본 attribute 중 역할과 일치하는 것이 있다면 그것을 사용하는 것이 좋다. e.g. select기능을 수행 ->
<select>
사용 - 컴포넌트 네이밍은 역할이 드러나도록 할 것
- 널리 사용되는 네이밍을 사용할 것 : Radix, Chakra 등 디자인 시스템 오픈소스 라이브러리 참고
- 컴포넌트를 분리하는 것은 재사용의 목적 뿐 아니라, 복잡도를 낮춰 가독성을 좋게 하기 위함도 있다.
- 리팩토링은 큰 변화를 일으키는 작업이고, 나중에 할 시간 조차 없다. 처음부터 컴포넌트 분리 잘하고, 코드 잘 작성하자.
- Airbnb Javascript
- 하나의 식인 경우 중괄호 생략, 인자가 하나 인경우 소괄호 생략하기
- const로 먼저 그룹화, 그 다음 let으로 그룹화
- 암묵적 타입 변환 : object([],{},function) = true, undefined,null = false, number = true(0,NaN 제외), string = true('' 제외)
- 단축형 사용하기 (
if(name)
, if(collection.length)
)
- 좋은 컴포넌트
- 좋은 UI를 적절하게 나눈 것. 여기서 UI는, 비즈니스 로직을 실행하거나 스타일, 애니메이션같은 시각적인 부분을 표현하는 것
- 컴포넌트를 나누는 기준 : 재사용 가능한 컴포넌트, HTML 요소 측면에서의 재사용성, 중복을 고려한 재사용성
- 한 컴포넌트는 하나의 책임을 지기(함수와 유사)