21.09.12

Younchong·2021년 9월 12일
0

VC prep-course

목록 보기
8/9

이번주 배운내용
Async & web basic
그리고 마지막 과제…

비동기가 무엇인지에 대해 배웠고, callstack, queue, eventloop 작동 순서
전에 드림코딩에선 정확히 이해못하고 넘어간 부분들을 명확히 알게 됐다.

오는 주

  • 과제가 없지만, lodash보고 함수 시간제한두고 만들기 (admission test연습)
  • 나를 위한 개념 정리 Async부터 역순으로!
  • admission test

코드리뷰

  1. 배열 변수명 보통 복수로…
    ~list, ~s 로… 기본적인 부분을 놓쳤다.

  2. 논리연산자의 사용
    과제내에서 만약 배열이 아닌경우 array.length를 사용할 수 없어서 에러가 생길수 있었다.
    그래서 !array 이렇게 코드를 적어 빈배열일 경우를 판단할 수 있었다.
    맨 처음과 같이 배열이 아닌경우 (배열만 들어올거라고 생각함)등과 같이
    그외 발생할 수 있는 에러에 대해 고민하고, 무엇이 있을지와 어떻게 대응할지에 대해서 코드를 적을 때 먼저 고민하자.

  3. early returnm 의 사용
    과제 내에선 앞선 요구사항을 마치고 finalCallback 함수를 실행하고 끝내는 거였는데,
    내 코드는

return finalCallback();

이렇게 적었다.
과제 내에서는 문제는 없었지만 (결과값으로 finalCallback()을 줌)
만약 다른 상황에서는 문제가 생길 수도 있다.
더 적절한 코드는

fianlCallback();
return

간단한 코드차이가 의도와는 다르게 행동될 수 있다는 점을 명심하자.

  1. 변수의미 애매하다.
    조금 더 신경써서 변수명을 적었지만, 내가 고려하지 않았던 요소들이 있었다.
    같이 사용되는 다른 변수요소들과 관계를 생각하고 네이밍하면 좀 더 직관적일 수 있을 것 같다.
    (예를 들어 어디에 넘겨지고, 어떤 결과값으로 사용되고 등)

  2. Console.log 의 참조형데이터
    Console.log에 넘겨지는 참조형 데이터는 확인시에 화살표를 눌러 펼칠때는
    참조레퍼런스가 적히는 것이라 console.log가 실행당시가 아닌 결과값, 즉 현재 클릭해서 열어볼 당시의 레퍼런스 값을 제공한다.

  3. if문 VS 삼항연산자
    가독성 측면에선 회사/팀 그리고 개발자마다 다르게 생각할 것이다.
    정답이 있는 부분이 아니다.

  4. null 병합연산자 ??
    좀 더 간결하게 표현식과 연산자를 사용해서 코드를 적는 방법을 알려주셨고, 그 중 몰랐던 부분
    a ?? b
    a가 undefined 나 null이 아니라면 a 가 return값이고,
    맞다면 b가 return값이다.
    ||(or)와 차이가 있다면 0를 falsy값으로 취급하지 않는다.

표현식과 연산자를 잘 이해해서 간결하게 코드 적는 연습을 하자.

마무리

저번주 보단 양이 적어서 그런지 비교적 빨리 끝냈다.
저번주 refactoring하고 강의듣고, 다른 개념공부 할 수 있었다.
생활패턴은 확실히 잡힌것 같고 효율도 훨씬 높아서 좋다.
백신2차 접종으로 금요일이랑 주말이 조금 무너졌지만, 할 일들은 다했다.

오는 주
연습잘하고 정리잘해서 시험 잘보고 합격하자!

0개의 댓글