Spec-Zone.ru › ESLint

max-statements

Ограничивает максимальное количество операторов в блоках функций

Правило max-statements позволяет указать максимальное количество операторов в функции.

function foo() {
  const bar = 1; // one statement
  const baz = 2; // two statements
  const qux = 3; // three statements
}

Подробности правила

Это правило ограничивает максимальное количество операторов в блоках функций.

Параметры

У этого правила есть числовой параметр или параметр-объект:

  • "max" (по умолчанию 10) ограничивает максимальное количество операторов в блоках функций

Устарело: Свойство объекта maximum устарело; используйте вместо него свойство объекта max.

У этого правила есть параметр-объект:

  • "ignoreTopLevelFunctions": true игнорирует функции верхнего уровня

max

Примеры некорректного кода для этого правила с параметром { "max": 10 } по умолчанию:

Открыть в Playground
/*eslint max-statements: ["error", 10]*/

functionfoo(){const foo1 =1;const foo2 =2;const foo3 =3;const foo4 =4;const foo5 =5;const foo6 =6;const foo7 =7;const foo8 =8;const foo9 =9;const foo10 =10;const foo11 =11;// Too many.}

const bar = ()=>{const foo1 =1;const foo2 =2;const foo3 =3;const foo4 =4;const foo5 =5;const foo6 =6;const foo7 =7;const foo8 =8;const foo9 =9;const foo10 =10;const foo11 =11;// Too many.};

Примеры корректного кода для этого правила с параметром { "max": 10 } по умолчанию:

Открыть в Playground
/*eslint max-statements: ["error", 10]*/

function foo() {
  const foo1 = 1;
  const foo2 = 2;
  const foo3 = 3;
  const foo4 = 4;
  const foo5 = 5;
  const foo6 = 6;
  const foo7 = 7;
  const foo8 = 8;
  const foo9 = 9;
  return function () { // 10

    // The number of statements in the inner function does not count toward the
    // statement maximum.

    let bar;
    let baz;
    return 42;
  };
}

const bar = () => {
  const foo1 = 1;
  const foo2 = 2;
  const foo3 = 3;
  const foo4 = 4;
  const foo5 = 5;
  const foo6 = 6;
  const foo7 = 7;
  const foo8 = 8;
  const foo9 = 9;
  return function () { // 10

    // The number of statements in the inner function does not count toward the
    // statement maximum.

    let bar;
    let baz;
    return 42;
  };
}

Обратите внимание: это правило не применяется к статическим блокам класса, и операторы в статических блоках класса не учитываются как операторы во внешней функции.

Примеры корректного кода для этого правила с параметром { "max": 2 }:

Открыть в Playground
/*eslint max-statements: ["error", 2]*/

function foo() {
    let one;
    let two = class {
        static {
            let three;
            let four;
            let five;
            if (six) {
                let seven;
                let eight;
                let nine;
            }
        }
    };
}

ignoreTopLevelFunctions

Дополнительные примеры корректного кода для этого правила с параметрами { "max": 10 }, { "ignoreTopLevelFunctions": true }:

Открыть в Playground
/*eslint max-statements: ["error", 10, { "ignoreTopLevelFunctions": true }]*/

function foo() {
  const foo1 = 1;
  const foo2 = 2;
  const foo3 = 3;
  const foo4 = 4;
  const foo5 = 5;
  const foo6 = 6;
  const foo7 = 7;
  const foo8 = 8;
  const foo9 = 9;
  const foo10 = 10;
  const foo11 = 11;
}

Связанные правила

  • complexity
  • max-depth
  • max-len
  • max-lines
  • max-lines-per-function
  • max-nested-callbacks
  • max-params

Версия

Это правило появилось в ESLint v0.0.9.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/max-statements

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API