# ESLint 규칙 중 accessor-pairs 란?
코드를 작성할 때 실수를 방지하기 위해 ESLint와 같은 정적 코드 분석 도구를 사용하곤 합니다. 이러한 도구는 코드 품질을 높이고 예기치 않은 버그를 사전에 방지하는 데 큰 도움이 됩니다. 그중에서도 `accessor-pairs`는 중요한 역할을 하는 규칙입니다. 이 블로그 글에서는 `accessor-pairs`란 무엇이며, 이를 활용해 어떻게 JavaScript 코드의 품질을 개선할 수 있는지 살펴보겠습니다.
## accessor-pairs 규칙이란?
`accessor-pairs`는 객체의 속성에 접근할 때, 일관성 있게 getter와 setter를 사용하는지 확인하는 ESLint 규칙입니다. 객체 지향 프로그래밍에서는 종종 객체의 속성에 직접 접근하는 대신 getter와 setter 메소드를 사용하여 값의 읽기와 쓰기를 관리합니다. 이러한 메소드는 데이터 무결성을 유지하고, 의도치 않게 속성이 변조되는 것을 방지하는 데 특히 유용합니다.
예를 들어, JavaScript에서 객체의 일부 속성에 대해서만 getter를 정의하고, 대응하는 setter를 정의하지 않으면 의도치 않은 동작이 발생할 수 있습니다. `accessor-pairs` 규칙은 이러한 부분을 사전에 잡아줌으로써 코드의 안정성을 높입니다.
## accessor-pairs의 동작 방식
`accessor-pairs` 규칙은 다음과 같은 규칙을 통해 코드를 검사합니다:
1. **Getter와 Setter의 쌍**: 각 속성이 getter를 가지면, 대칭적으로 setter도 정의되어 있어야 합니다. 이 규칙은 속성의 일관성을 유지하는 데 필수적입니다.
2. **데이터 무결성 유지**: 멤버 변수에 대한 직접적인 접근을 방지하며, 이를 통해 데이터의 무결성을 보장합니다.
아래는 잘못된 예시와 올바른 예시입니다.
### 잘못된 예시
“`javascript
const person = {
get name() {
return this._name;
}
};
person.name = ‘Alice’; // set name 기능 없음
“`
### 올바른 예시
“`javascript
const person = {
_name: ”,
get name() {
return this._name;
},
set name(value) {
this._name = value;
}
};
person.name = ‘Alice’; // 정상적으로 작동
“`
## ESLint에서 accessor-pairs 설정
`accessor-pairs` 룰은 ESLint의 기본 규칙으로 제공되며, 적절한 설정을 통해 활성화할 수 있습니다. `.eslintrc` 파일에 아래와 같이 설정할 수 있습니다:
“`json
{
“rules”: {
“accessor-pairs”: “error”
}
}
“`
## 결론
`accessor-pairs` 규칙은 JavaScript에서 객체 속성에 접근할 때 발생할 수 있는 잠재적인 문제를 사전에 방지하는 데 큰 도움이 됩니다. 코드를 작성할 때 getter와 setter를 일관성 있게 사용함으로써 데이터 무결성을 유지하고, 의도치 않은 동작으로 인해 발생할 수 있는 버그를 줄일 수 있습니다.
프로젝트에 ESLint를 적용하여 `accessor-pairs` 규칙을 활성화하고, 코드의 품질과 안정성을 높여보세요. 이를 통해 더 읽기 쉬운 코드와 유지보수에 용이한 코드를 작성할 수 있을 것입니다.