max-depth
Ограничивает максимальную глубину вложенности блоков
Многие разработчики считают код трудным для чтения, если блоки вложены глубже определённого уровня.
Подробности правила
Это правило ограничивает максимальную глубину вложенности блоков, чтобы снизить сложность кода.
Параметры
У этого правила есть параметр — число или объект:
-
"max"(по умолчанию4) ограничивает максимальную глубину вложенности блоков
Устарело: Свойство объекта maximum устарело; используйте вместо него свойство объекта max.
max
Примеры неправильного кода для этого правила с параметром по умолчанию { "max": 4 }:
/*eslint max-depth: ["error", 4]*/
function foo() {
for (;;) { // Nested 1 deep
while (true) { // Nested 2 deep
if (true) { // Nested 3 deep
if (true) { // Nested 4 deep
}
}
}
}
}
Примеры правильного кода для этого правила с параметром по умолчанию { "max": 4 }:
/*eslint max-depth: ["error", 4]*/
function foo() {
for (;;) { // Nested 1 deep
while (true) { // Nested 2 deep
if (true) { // Nested 3 deep
if (true) { // Nested 4 deep
}
}
}
}
}
Обратите внимание: статические блоки класса не считаются вложенными блоками, а их глубина вычисляется отдельно от окружающего контекста.
Примеры неправильного кода для этого правила с параметром { "max": 2 }:
/*eslint max-depth: ["error", 2]*/
function foo() {
if (true) { // Nested 1 deep
class C {
static {
if (true) { // Nested 1 deep
if (true) { // Nested 2 deep
}
}
}
}
}
}
Примеры правильного кода для этого правила с параметром { "max": 2 }:
/*eslint max-depth: ["error", 2]*/
function foo() {
if (true) { // Nested 1 deep
class C {
static {
if (true) { // Nested 1 deep
if (true) { // Nested 2 deep
}
}
}
}
}
}
Связанные правила
Версия
Это правило появилось в ESLint v0.0.9.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/max-depth