Parameters are part of the method signature and its identity.
Implementing a method from an interface, a base class, or a partial method and changing one of its parameters' names will confuse and impact the
method’s readability.
Interface IBankAccount
Sub AddMoney(money As Integer)
End Interface
Class BankAccount
Implements IBankAccount
Private Sub AddMoney(amount As Integer) ' Noncompliant: parameter's name differs from base
' ...
End Sub
End Class
To avoid any ambiguity in the code, a parameter’s name should match the initial declaration, whether its initial declaration is from an interface,
a base class, or a partial method.
Interface IBankAccount
Sub AddMoney(money As Integer)
End Interface
Class BankAccount
Implements IBankAccount
Private Sub AddMoney(money As Integer) ' Compliant: parameter's name match base name
' ...
End Sub
End Class