ESLint 규칙 중 max-classes-per-file 란?
프로그래밍 환경에서 코드를 작성할 때, 코드는 명확하고, 유지보수하기 쉬워야 합니다. 이러한 목표를 달성하기 위해 ESLint는 여러 규칙을 제공하며, 그 중 하나가 바로 "max-classes-per-file"입니다. 이 규칙은 파일당 허용되는 클래스의 수를 제한하여 코드의 복잡성을 줄이고 가독성을 향상시키는 데 도움을 줍니다.
max-classes-per-file 규칙이란?
ESLint의 "max-classes-per-file" 규칙은 한 파일 안에 너무 많은 클래스가 정의되는 것을 방지하는 규칙입니다. 클래스를 한 파일에 너무 많이 정의하면 코드는 복잡해지고 이해하기 어려워집니다. 이 규칙은 이러한 문제점을 해결하기 위해 파일당 정의 가능한 클래스 수를 제한합니다.
왜 "max-classes-per-file"이 중요한가?
- 가독성 향상: 파일에 너무 많은 클래스가 있을 경우 코드를 읽고 이해하기 어려워집니다. 한 파일에 한 또는 두 개의 클래스를 정의하는 것이 권장됩니다.
- 유지보수 용이성: 적은 수의 클래스가 있는 파일은 수정과 유지보수가 더 쉽습니다. 클래스를 찾기 쉽고, 변경 사항이 있을 경우 파일을 쉽게 관리할 수 있습니다.
- 모듈화: 클래스를 여러 파일에 분산시키면 응집력 있는 코드를 작성할 수 있습니다. 이는 변화에 따른 영향 범위를 줄이고, 코드의 재사용성을 높입니다.
max-classes-per-file 규칙 사용 방법
기본적으로 ESLint에서 이 규칙이 활성화되어 있지는 않지만, 필요한 경우 설정 파일(.eslintrc)에 규칙을 추가할 수 있습니다. 예를 들어, 파일당 두 개의 클래스를 허용하려면 다음과 같이 설정할 수 있습니다:
{
"rules": {
"max-classes-per-file": ["error", 2]
}
}
위 설정은 한 파일에 최대 두 개의 클래스만 정의할 수 있도록 제한합니다. 만약 두 개 이상의 클래스가 정의되어 있다면 ESLint는 오류를 발생시킵니다.
예제
잘못된 사용 예제:
// 잘못된 예시: 한 파일에 너무 많은 클래스
class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
위 예에서는 하나의 파일에 여러 클래스가 정의되어 있습니다. 이는 코드를 이해하고 유지보수하는 데 불리합니다.
올바른 사용 예제:
// 동물.js
class Animal {}
export default Animal;
// 강아지.js
import Animal from './동물';
class Dog extends Animal {}
export default Dog;
// 고양이.js
import Animal from './동물';
class Cat extends Animal {}
export default Cat;
각 클래스를 별도의 파일에 정의하면 코드의 가독성과 유지보수성이 크게 향상됩니다.
결론
"max-classes-per-file" 규칙은 파일당 클래스를 제한함으로써 코드의 가독성을 높이고 유지보수를 쉽게 합니다. 적절한 모듈화는 코드의 품질을 높이는 중요한 방법입니다. 언제나 파일당 적절한 수의 클래스를 유지하고, ESLint의 규칙을 통해 코드의 일관성을 유지하도록 합시다.
이제, 여러분의 프로젝트에 "max-classes-per-file" 규칙을 도입하여 더욱 깔끔하고 관리하기 쉬운 코드를 작성해보세요!