[typescript] 타입 가드와 가변성 문제를 피하기 위한 코드 리뷰 가이드라인

코드 리뷰는 소프트웨어 개발에서 매우 중요한 부분입니다. TypeScript에서는 타입 가드 및 가변성 문제를 피하기 위한 코드 리뷰 가이드라인을 만들 수 있습니다. 이를 통해 더욱 안정적이고 확장 가능한 코드를 작성할 수 있습니다.

1. 타입 가드 사용하기

타입 가드는 TypeScript 코드에서 특정 변수나 속성이 특정한 타입을 갖는지 확인하기 위해 사용됩니다. 이를 통해 코드의 안전성을 높일 수 있습니다. 아래는 타입 가드를 사용한 예시 코드입니다.

function isNumber(value: any): value is number {
  return typeof value === 'number';
}

if (isNumber(input)) {
  // input이 number 타입일 때 처리하는 로직
} else {
  // input이 number 타입이 아닐 때 처리하는 로직
}

2. 읽기 전용 속성 사용하기

가변성 문제를 피하기 위해 읽기 전용 속성을 사용하는 것이 좋습니다. 객체의 속성이나 배열을 수정하지 않을 경우, 해당 속성을 읽기 전용으로 정의하여 실수를 방지할 수 있습니다. 아래는 읽기 전용 속성을 사용한 예시 코드입니다.

interface Point {
  readonly x: number;
  readonly y: number;
}

let p: Point = { x: 10, y: 20 };
p.x = 5; // 에러 발생

3. 타입 불변성 유지하기

객체 또는 배열의 불변성을 유지하는 것은 타입 안정성을 높일 수 있습니다. Object.freezeReadonlyArray 등을 사용하여 객체나 배열의 불변성을 유지하는 것이 좋습니다. 아래는 타입 불변성을 유지하는 예시 코드입니다.

const arr: readonly number[] = [1, 2, 3];
arr.push(4); // 에러 발생

결론

타입 가드 및 가변성 문제를 피하기 위한 코드 리뷰 가이드라인을 준수하면 TypeScript 코드의 안정성을 크게 향상시킬 수 있습니다. 이를 통해 유지보수가 쉬우며 확장 가능한 안정적인 코드를 작성할 수 있습니다.

참고문헌: