版本

max-classes-per-file

强制每个文件最多的类数

包含多个类的文件通常会导致代码库的可导航性降低且结构不良。最佳实践是将每个文件限制为单一职责。

规则详情

此规则强制每个文件只能包含特定数量的类,不能超过此数量。

此规则的错误代码示例

在 Playground 中打开
/*eslint max-classes-per-file: "error"*/

class Foo {}
class Bar {}

此规则的正确代码示例

在 Playground 中打开
/*eslint max-classes-per-file: "error"*/

class Foo {}

选项

此规则可以使用对象或数字进行配置。

如果选项是一个对象,则可以包含以下一项或两项

  • ignoreExpressions:一个布尔选项(默认为 false),用于忽略类表达式。
  • max:一个数字选项(默认为 1),用于指定最大类数。

例如

{
    "max-classes-per-file": ["error", 1]
}
{
    "max-classes-per-file": [
        "error",
        { "ignoreExpressions": true, "max": 2 }
    ]
}

此规则的正确代码示例,其中 max 选项设置为 2

在 Playground 中打开
/* eslint max-classes-per-file: ["error", 2] */

class Foo {}
class Bar {}

此规则的正确代码示例,其中 ignoreExpressions 选项设置为 true

在 Playground 中打开
/* eslint max-classes-per-file: ["error", { ignoreExpressions: true }] */

class VisitorFactory {
    forDescriptor(descriptor) {
        return class {
            visit(node) {
                return `Visiting ${descriptor}.`;
            }
        };
    }
}

版本

此规则在 ESLint v5.0.0-alpha.3 中引入。

资源

更改语言