== Why is this an issue? Function arguments should all have different names to prevent any ambiguity. Indeed, if arguments have the same name, the last duplicated argument hides all the previous arguments with the same name. This hiding makes no sense, reduces understandability and maintainability, and obviously can be error prone. === Noncompliant code example [source,php] ---- function compute($a, $a, $c) { // Noncompliant } ---- === Compliant solution [source,php] ---- function compute($a, $b, $c) { // Compliant } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) include::../message.adoc[] ''' == Comments And Links (visible only on this page) include::../comments-and-links.adoc[] endif::env-github,rspecator-view[]