== Why is this an issue?

Functions and procedures with a long parameter list are difficult to use, as maintainers must figure out the role of each parameter and keep track of their position.

include::noncompliant.adoc[]

The solution can be to:

* Split the function or the procedure into smaller ones

include::split-example.adoc[]

* Find a better data structure for the parameters that group data in a way that makes sense for the specific application domain

include::struct-example.adoc[]

This rule raises an issue when a function or a procedure has more parameters than the provided threshold.

ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::../message.adoc[]

=== Parameters

.parameters
****

----
10
----

The maximum number of function and procedure parameters allowed.
****


'''
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]

endif::env-github,rspecator-view[]
