== Why is this an issue? Passing parameters by reference requires developers to understand the subtle differences between reference and value types. It is preferable to avoid passing parameters by reference when possible. === Noncompliant code example [source,vbnet] ---- Module Module1 Sub Foo(ByRef result As Integer) ' Non-Compliant result = 42 End Sub Sub Main() Dim result As Integer Foo(result) Console.WriteLine(result) End Sub End Module ---- === Compliant solution [source,vbnet] ---- Module Module1 Function Foo() As Integer ' Compliant Return 42 End Function Sub Main() Dim result As Integer = Foo() Console.WriteLine(result) End Sub End Module ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Refactor the code and pass "xxx" by value instead. endif::env-github,rspecator-view[]