TIL_20210326

qkrcndtlr123·2021년 3월 26일
0

TIL

목록 보기
16/31

coding style

  • 코드의 가로 길이는 대개 80자나 120자로 제한
  • 중첩 레벨은 최대한 줄임으로써 가독성 개선
// example 1
for (let i = 0; i < 10; i++) {
  if (cond) {
  }
}
// 위 코드는 아래와 같이 줄여서 작성 가능
for (let i = 0; i < 10; i++) {
  if (!cond) continue;
}

// example 2
function pow(x, n) {
  if (n < 0) {
    alert("'n'은 음수가 될 수 없습니다.");
  } else {
    let result = 1;

    for (let i = 0; i < n; i++) {
      result *= x;
    }

    return result;
  }
}
// 위 코드는 아래와 같이 줄여서 작성 가능
function pow(x, n) {
  if (n < 0) {
    alert("'n'은 음수가 될 수 없습니다.");
    return; // return을 추가함으로써, 조건을 통과하면 추가 중첩 없이 메인 코드로 흐르게 작성
  }

  let result = 1;

  for (let i = 0; i < n; i++) {
    result *= x;
  }

  return result;
}

좋은 주석 작성법

  • 고차원 수준 컴포넌트 개요, 컴포넌트 간 상호작용에 대한 설명, 상황에 따른 제어 흐름 등을 주석으로 작성하면 좋다. 코드의 조감도 역할.
  • 함수 용례와 매개 변수 정보를 담는 주석. JSDoc라는 문법을 사용하여 문서 작성 가능
  • 문제 해결 방법을 설명하는 주석을 작성하여 이전에 했던 실수 방지
  • 미묘한 동작을 수행하는 코드가 있다면, 주석을 달아 설명

BDD (Behavior Driven Development)

  • BDD에서는 스펙을 먼저 작성 후 구현 시작
  • 구현이 종료된 시점에 스펙과 코드 모두 확보
  1. 테스트 – 함수가 의도하는 동작을 제대로 수행하고 있는지 보장
  2. 문서 – 함수가 어떤 동작을 수행하고 있는지 설명. describeit에 설명
  3. 예시 – 실제 동작하는 예시를 이용해 함수를 어떻게 사용할 수 있는지 안내
  • describe("title", function() { ... })
  • it("유스 케이스 설명", function() { ... })
  • assert.equal(value1, value2)
  • 테스트에서는 한 가지만 확인
profile
Blog by Chungsik Park

0개의 댓글