A long parameter list can indicate that a new structure should be created to wrap the numerous parameters or that the function is doing too many things.

Noncompliant Code Example

With a maximum number of 4 parameters:

function doSomething(param1, param2, param3, param4, param5) {
...
}

Compliant Solution

function doSomething(param1, param2, param3, param4) {
...
}

Exceptions

The rule ignores constructors where parameters are all parameter properties:

class C {
  constructor(
    param1: number,
    param2: boolean,
    param3: string,
    param4: string[],
    param5: number | string
  ) {}
}