版本

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 中引入。

資源

變更語言