Skip to content

useMaxParams

Enforce a maximum number of parameters in function definitions.

Functions that take numerous parameters can be difficult to read and write because it requires the memorization of what each parameter is, its type, and the order they should appear in.

function foo(a, b, c, d, e, f, g, h) {
// too many parameters
}
code-block.js:1:1 lint/nursery/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Function has 8 parameters, but only 4 are allowed.

> 1 │ function foo(a, b, c, d, e, f, g, h) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 2 │ // too many parameters
> 3 │ }
^
4 │

Functions with many parameters are hard to read and maintain.

Consider using an options object, splitting into smaller functions, or grouping related parameters.

const bar = (a, b, c, d, e, f, g, h) => {
// too many parameters
}
code-block.js:1:13 lint/nursery/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Function has 8 parameters, but only 4 are allowed.

> 1 │ const bar = (a, b, c, d, e, f, g, h) => {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 2 │ // too many parameters
> 3 │ }
^
4 │

Functions with many parameters are hard to read and maintain.

Consider using an options object, splitting into smaller functions, or grouping related parameters.

class Baz {
method(a, b, c, d, e, f, g, h) {
// too many parameters
}
}
code-block.js:2:5 lint/nursery/useMaxParams ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Function has 8 parameters, but only 4 are allowed.

1 │ class Baz {
> 2 │ method(a, b, c, d, e, f, g, h) {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 3 │ // too many parameters
> 4 │ }
^
5 │ }
6 │

Functions with many parameters are hard to read and maintain.

Consider using an options object, splitting into smaller functions, or grouping related parameters.

function foo(a, b, c) {
// within limit
}
const bar = (a, b, c) => {
// within limit
}
class Baz {
method(a, b, c) {
// within limit
}
}

The maximum number of parameters allowed (default: 4).

biome.json
{
"linter": {
"rules": {
"nursery": {
"useMaxParams": "error"
}
}
}
}