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 (those previous arguments remain available through arguments[i], so they’re not completely
inaccessible).
This hiding makes no sense, reduces understandability and maintainability, and obviously can be error prone. Furthermore, in strict mode, declaring
arguments with the same name produces an error.
Noncompliant Code Example
function compute(a, a, c) { // Noncompliant
}
Compliant Solution
function compute(a, b, c) { // Compliant
}