]>
Commit | Line | Data |
---|---|---|
eb39fafa DC |
1 | # enforce a maximum number of classes per file (max-classes-per-file) |
2 | ||
3 | Files containing multiple classes can often result in a less navigable | |
4 | and poorly structured codebase. Best practice is to keep each file | |
5 | limited to a single responsibility. | |
6 | ||
7 | ## Rule Details | |
8 | ||
9 | This rule enforces that each file may contain only a particular number | |
10 | of classes and no more. | |
11 | ||
12 | Examples of **incorrect** code for this rule: | |
13 | ||
14 | ```js | |
15 | /*eslint max-classes-per-file: "error"*/ | |
16 | ||
17 | class Foo {} | |
18 | class Bar {} | |
19 | ``` | |
20 | ||
21 | Examples of **correct** code for this rule: | |
22 | ||
23 | ```js | |
24 | /*eslint max-classes-per-file: "error"*/ | |
25 | ||
26 | class Foo {} | |
27 | ``` | |
28 | ||
29 | ## Options | |
30 | ||
31 | This rule has a numeric option (defaulted to 1) to specify the | |
32 | maximum number of classes. | |
33 | ||
34 | For example: | |
35 | ||
36 | ```json | |
37 | { | |
38 | "max-classes-per-file": ["error", 1] | |
39 | } | |
40 | ``` | |
41 | ||
42 | Examples of **correct** code for this rule with the numeric option set to `2`: | |
43 | ||
44 | ```js | |
45 | /* eslint max-classes-per-file: ["error", 2] */ | |
46 | ||
47 | class Foo {} | |
48 | class Bar {} | |
49 | ``` |