Post

원티드 프리온보딩 - 클린코드4

원티드 프리온보딩 - 클린 코드 4강

null vs undefined

null과 undefined 어떤 것을 사용하는 것이 좋은가?

null

  • 객체값이 의도적으로 없음을 나타내는 원시값
  • 개발자가 임의로 사용

undefined

  • 변수에 값이 할당되지 않았을 때 사용하는 원시값
  • javascript 엔진에 의해서 결정

■ undefined

  • JavaScript 실행 컨텍스트의 생성 과정과 초기값에 대부분 undefined 가 사용된다.
  • 반환이 없는 함수의 경우 undefined를 반환한다.
  • Default Parameters 에서 유용하게 활용된다.
  • Optional Chaining 의 반환에 undefined 가 활용된다.
  • JSON.stringify() 직렬화시 null은 생략되지 않는다.
  • 구조 분해 할당 활용시 용이하게 활용할 수 있음

■ null

  • null의 타입을 typeof 로 확인시 object 라는 값을 던져주는 것은 명백한 오류다.
  • 선택자로 DOM API 를 가져오지 못하면 null을 반환한다.

Poc (개념증명; Proof of Concept)

1. 기술을 선택하는 것도 공부다.

  • 어떤 기술을 왜 도입해야하고, 사용했을 때 어떤 효과가 나올지에 대한 토론을 하자!
    • 이 과정에서 정말 많은 것을 배운다!
  • 기술 도입을 위한 개념 증명, 논리 확보 → 그 논리를 위한 자료 수집 → 자료를 분석하고 옳고 그름을 구분

2. 팀원의 성숙도를 고려하자.

  • React & TS 조차 온전하게 사용하지 못하는 팀원이 있는데 Next.js를 도입한다면…?
    • 이런 경우에는 프로젝트를 진행해야하는데, Next.js 공식문서만 보다가 프로젝트가 끝날 수 있음…

3. 과정은 잊고 알 수 없는 해피 케이스에 집착

  • 특정 기술이 줄 수 있는 혜택에 긍정적인 기대가 큰 상황
    • 이유 없이 기술 스택에 대해 공부하면 도움이 된다는 생각으로 이 기술 스택을 왜 사용하는지 모르고 학습하면 도움이 될 것이라는 기대

4. 개념증명은 어떻게 해야하는가?

  • 스스로에게 질문을 던져보자
    • 우리의 프로젝트는 기술을 배우기 위한 수단인가?
    • 구성원의 기술 수준은 모두 고려하였는가?

5. PoC 레퍼런스

자동화

의식적인 훈련에 숙달되었다면 기계에 위임하자.

ESLint, Prettier, Husky, lint-staged, Editor Config와 같은 자동화를 도와주는 도구를 사용하는 것이 좋음

This post is licensed under CC BY 4.0 by the author.