ESLint 규칙 중 no-magic-numbers 란?
ESLint는 JavaScript 코드의 일관성과 품질을 유지하기 위한 도구로, 개발자들이 흔히 저지를 수 있는 실수를 방지하고 코드 스타일을 강제할 수 있는 다양한 규칙을 제공합니다. 그중 no-magic-numbers 규칙은 코드 가독성을 높이고 유지보수성을 향상시키기 위한 중요한 규칙입니다. 이 글에서는 no-magic-numbers 규칙의 필요성과 사용 방법에 대해 알아보겠습니다.
##목차
- no-magic-numbers 규칙이란?
- 왜 no-magic-numbers 규칙을 사용해야 하는가?
- ESLint에서 no-magic-numbers 규칙 설정
- 올바른 사용 사례
- 결론
no-magic-numbers 규칙이란?
no-magic-numbers 규칙은 코드 내에서 하드코딩된 "숫자 상수" 사용을 제한하는 규칙입니다. 예를 들어, 코드에 바로 3.14, 42 같은 숫자를 직접 쓰는 것을 "매직 넘버"라고 부릅니다. 이러한 매직 넘버는 코드의 의도를 불명확하게 만들어 가독성을 떨어뜨릴 수 있습니다.
왜 no-magic-numbers 규칙을 사용해야 하는가?
매직 넘버는 코드의 의도를 명확히 파악하기 어렵게 만듭니다. 예를 들어, 특정한 숫자가 사용된 이유를 다른 사람이 바로 이해하기 쉽지 않습니다. 이는 코드 유지보수에 어려움을 주며, 실수나 버그 발생 가능성을 높입니다. no-magic-numbers 규칙을 사용하면 숫자를 변수나 상수로 선언하여 의미를 부여하고 코드의 가독성을 높일 수 있습니다.
ESLint에서 no-magic-numbers 규칙 설정
ESLint에서 no-magic-numbers 규칙을 설정하려면 .eslintrc 파일에 아래와 같이 추가할 수 있습니다.
{
"rules": {
"no-magic-numbers": ["error", { "ignore": [0, 1], "detectObjects": true }]
}
}
위 설정은 0과 1 같은 숫자는 허용하되, 기타 숫자 상수는 변수를 통해 정의하도록 강제합니다.
올바른 사용 사례
매직 넘버 대신 의미 있는 상수나 변수를 사용하여 코드를 작성하는 것이 좋습니다.
JavaScript 코드 예시
잘못된 예시:
if (user.age > 18) {
console.log('Adult');
}
올바른 예시:
const LEGAL_AGE = 18;
if (user.age > LEGAL_AGE) {
console.log('Adult');
}
결론
no-magic-numbers 규칙을 사용함으로써 코드의 가독성과 유지보수성을 높일 수 있습니다. 코드에 의미를 부여하고 읽는 사람이 이해하기 쉽게 만들어 실수의 빈도를 줄입니다. 프로젝트에서 ESLint의 no-magic-numbers 규칙을 적극 활용하여 코드 품질을 향상시킬 수 있습니다.