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:

func foo(p1 int, p2 int, p3 int, p4 int, p5 int) { // Noncompliant
  // ...
}

Compliant Solution

func foo(p1 int, p2 int, p3 int, p4 int) {
  // ...
}