ESLint 규칙 중 max-statements 란?

ESLint 규칙 중 max-statements란?

코드를 작성하는 과정에서 코드의 복잡성과 가독성을 유지하는 것은 매우 중요합니다. 그중에서도 함수 내에서 문(statement)의 수를 적절하게 제한하는 것은 코드 품질을 높이는 데 중요한 요소입니다. ESLint의 max-statements 규칙은 바로 이런 맥락에서 사용되는 강력한 도구입니다. 이 블로그 포스트에서는 max-statements 규칙에 대해 자세히 알아보고, 코드 품질을 어떻게 개선할 수 있는지 살펴보겠습니다.

max-statements 규칙이란?

max-statements 규칙은 하나의 함수 안에 포함되는 문(statement)의 최대 개수를 제한하는 ESLint의 규칙입니다. 함수가 너무 많은 문을 포함하고 있으면, 코드가 복잡해지고 이해하기 어려워집니다. 이 규칙은 함수가 작고 단순하게 유지되도록 독려하며, 장기적으로 코드의 유지보수를 용이하게 만듭니다.

왜 max-statements 규칙을 사용해야 할까?

  1. 가독성 향상: 많은 문을 포함하는 함수는 읽기 어렵고 이해하기 힘듭니다. max-statements 규칙은 함수가 적절한 크기를 유지하도록 하여 가독성을 높입니다.

  2. 유지보수 용이성: 작게 나뉜 함수는 수정하거나 확장하기 쉽습니다. 이를 통해 코드 변경 시 발생하는 버그를 줄일 수 있습니다.

  3. 재사용성 증가: 간결한 함수는 다른 곳에서 재사용하기 쉬워지고, 코드 중복을 피할 수 있습니다.

max-statements 규칙 설정하기

ESLint에서 max-statements 규칙은 기본적으로 비활성화되어 있습니다. 이 규칙을 활성화하려면 .eslintrc 파일에 다음과 같이 설정할 수 있습니다:

{
  "rules": {
    "max-statements": ["error", 10]
  }
}

위 설정은 각 함수 내에 최대 10개의 문만 포함할 수 있도록 제한합니다. 필요에 따라 이 숫자는 조정 가능합니다.

코드 예시

다음은 max-statements 규칙을 잘 활용한 코드의 예시입니다:

// 함수 내 문 개수가 적절하게 제한됨
function processUserInput(input) {
  const trimmedInput = input.trim();
  
  if (isValidInput(trimmedInput)) {
    saveInput(trimmedInput);
    displaySuccessMessage();
  } else {
    displayErrorMessage();
  }
}

그리고 이 규칙을 위반할 수 있는 예시를 살펴봅시다:

// 과도한 문으로 가득 찬 함수
function processUserInput(input) {
  const trimmedInput = input.trim();
  let isValid = true;

  if (trimmedInput === '') isValid = false;
  if (isValid && !/^[a-z0-9]+$/i.test(trimmedInput)) isValid = false;
  
  // 많은 검증 로직...
  
  if (isValid) {
    saveInput(trimmedInput);
    displaySuccessMessage();
  } else {
    displayErrorMessage();
  }
}

위 함수는 복잡한 검증 로직을 포함하고 있어 이해하기 어려울 수 있습니다. max-statements 규칙을 준수하여 각 검증 로직을 별도의 함수로 분리하면 코드를 더 명확하게 정리할 수 있습니다.

결론

max-statements 규칙은 함수의 크기와 복잡성을 제어하는 데 유용한 ESLint 규칙입니다. 함수가 지나치게 길어지는 것을 방지하고, 코드를 읽기 쉽게 만드는 데 도움을 줍니다. 코드를 작성할 때 이러한 규칙을 활용해 함수 내 문장을 적절히 제한하고 코드 품질을 높여보세요! SEO 최적화를 통해 더 많은 개발자가 이 유용한 규칙을 알게 되기를 바랍니다.

Leave a Comment