728x90
728x90

코드 품질을 높여주는 tsconfig.json 설정

들어가며

  • TypeScript설정 파일(@tsconfig.json@)에서 코드의 품질을 높여주는 몇 가지 설정 항목에 대해 간단히 정리해본다.

 

설정

① noUnusedLocals

  • 사용되지 않는 지역 변수(local variable)를 검사해서 에러를 발생시키는 옵션
  • 선언만 해놓고 안 쓰는 변수를 잡아내주는 옵션

 

예시 코드
  • 지역 변수 @b@는 사용되지 않으므로, 에러가 발생한다.
function example() {
  const a = 10;
  const b = 20; // 사용되지 않음

  return a;
}

 

② noUnusedParameters

  • 사용되지 않는 함수 파라미터(Parameter)를 검사한다.
  • 불필요한 API 설계를 방지하고, 함수 시그니처를 명확하게 해주도록 도와준다.

 

예시 코드
  • @age@ 파라미터는 사용되지 않으므로, 에러가 발생한다.
function greet(name: string, age: number) {
  return `Hello ${name}`;
}

 

  • @_@ 접두어(Prefix)를 함수 파라미터 앞에 붙이면, 의도적으로 사용 하지 않는 파라미터임을 표현할 수 있다.
function handler(_req: any, res: any) {
  res.send("ok");
}

 

③ noFallthroughCaseInSwitch

  • @switch@ 문에서 @break@, @return@ 없이 다음 @case@로 자동으로 넘어가는(fallthrough) 것을 방지해준다.
  • 의도하지 않은 버그를 방지해주고, 로직 흐름이 명확해지도록 도와준다.

 

예시 코드
  • @case 1@에서 @break@가 존재하지 않으므로, 에러가 발생한다.
function getColor(code: number) {
  switch (code) {
    case 1:
      console.log("red");
    case 2:
      console.log("blue");
      break;
  }
}

 

  • 의도적으로 fallthrough를 하려면, 주석(Comment)으로 의도를 명시해주는 것이 좋다.
switch (code) {
  case 1:
    console.log("red");
    // fallthrough
  case 2:
    console.log("blue");
}

 

정리

tsconfig.json
{
  "noUnusedLocals": true, // 사용하지 않는 로컬 변수 감지
  "noUnusedParameters": true, // 사용하지 않는 함수 파라미터 감지
  "noFallthroughCasesInSwitch": true // break 또는 return이 없는 switch 문 감지
}

 

 

참고 사이트

 

Documentation - What is a tsconfig.json

Learn about how a TSConfig works

www.typescriptlang.org

 

728x90
728x90