Why is this an issue?
When the names of parameters in a procedure call match the names of the procedure arguments, it contributes to a clearer, more readable code.
However, when the names match but are passed in a different order than the method arguments, it indicates a mistake in the parameter order which will
likely lead to unexpected results.
Noncompliant code example
Public Function Divide(ByVal divisor As Integer, ByVal dividend As Integer) As Double
Return divisor / dividend
End Function
Public Sub DoTheThing()
Dim divisor = 15
Dim dividend = 5
Dim result = Divide(dividend, divisor) ' Noncompliant; operation succeeds, but result is unexpected
'...
End Sub
Compliant solution
Public Function Divide(ByVal divisor As Integer, ByVal dividend As Integer) As Double
Return divisor / dividend
End Function
Public Sub DoTheThing()
Dim divisor = 15
Dim dividend = 5
Dim result = Divide(divisor, dividend)
'...
End Sub