## Why is this an issue?

Calling a procedure with argument variables whose names match the procedure parameter names but in a different order can cause confusion. It could indicate a mistake in the arguments' order, leading to unexpected results.

    Public Function Divide(divisor As Integer, 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: arguments' order doesn't match their respective parameter names
        '...
    End Sub

However, matching the procedure parameters' order contributes to clearer and more readable code:

    Public Function Divide(divisor As Integer, dividend As Integer) As Double
        Return divisor / dividend
    End Function

    Public Sub DoTheThing()
        Dim divisor = 15
        Dim dividend = 5

        Dim result = Divide(divisor, dividend) ' Compliant
        '...
    End Sub