ByVal parameters are prefixed with "pi" for "Parameter Input".
ByRef parameters are prefixed with "po" for "Parameter Output".
Local variables are prefixed with "lv" for "Local Variable".
Member variables are prefixed with "m_".
The return variable is always called lvResult.
Every Catch makes a call to ReportError so no exception gets lost.
Example:
Function TryAdd(ByRef poX As Int32, ByVal piY As Int32) As Boolean
Dim lvResult = True
Try
poX += piY;
Catch ex As Exception
ReportError(ex)
lvResult = False
End Try
Return lvResult
End Function