# 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
                    if (true) { // Nested 5 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
                        if (true) { // Nested 3 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
                    }
                }
            }
        }
    }
}
Last Updated: 5/13/2023, 8:55:38 PM