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 } по умолчанию:
/*eslint max-statements: ["error", 10]*/
const bar = ;
Примеры корректного кода для этого правила с параметром { "max": 10 } по умолчанию:
/*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 }:
/*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 }:
/*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;
}
Связанные правила
Версия
Это правило появилось в ESLint v0.0.9.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/max-statements