eslint/for-direction 정확성
작동 방식
반복 조건이 잘못된 방향으로 카운터를 이동하는 for 루프를 금지하여, 반복문이 종료 조건에 도달할 수 없게 하는 상황을 방지합니다.
왜 좋지 않은가?
종료 조건에 도달할 수 없는 for 반복문은 무한히 실행됩니다. 무한 반복문은 의도적인 경우도 있지만, 일반적으로는 while 반복문으로 작성됩니다. 더 자주는 무한 for 반복문이 버그일 가능성이 큽니다.
예시
이 규칙에 부적절한 코드 예시:
js
/* for-direction: "error" */
for (var i = 0; i < 10; i--) {}
for (var i = 10; i >= 0; i++) {}
for (var i = 0; i > 10; i++) {}
for (var i = 0; 10 > i; i--) {}
const n = -2;
for (let i = 0; i < 10; i += n) {}이 규칙에 적절한 코드 예시:
js
/* for-direction: "error" */
for (var i = 0; i < 10; i++) {}
for (var i = 0; 10 > i; i++) {
// 카운터 "i"가 오른쪽에 위치함
}
for (let i = 10; i >= 0; i += this.step) {
// 방향이 알 수 없음
}
for (let i = MIN; i <= MAX; i -= 0) {
// 증가하거나 감소하지 않음
}사용 방법
설정 파일 또는 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"for-direction": "error"
}
}bash
oxlint --deny for-direction