rspec/rules/S907/vbnet/rule.adoc

38 lines
1.1 KiB
Plaintext
Raw Normal View History

2020-12-23 14:59:06 +01:00
``GoTo`` is an unstructured control flow statement. It makes code less readable and maintainable. Structured control flow statements such as ``If``, ``For``, ``While``, or ``Exit`` should be used instead.
2020-06-30 12:50:59 +02:00
== Noncompliant Code Example
----
Sub GoToStatementDemo()
Dim number As Integer = 1
Dim sampleString As String
' Evaluate number and branch to appropriate label.
If number = 1 Then GoTo Line1 Else GoTo Line2
Line1:
sampleString = "Number equals 1"
GoTo LastLine
Line2:
' The following statement never gets executed because number = 1.
sampleString = "Number equals 2"
LastLine:
' Write "Number equals 1" in the Debug window.
Debug.WriteLine(sampleString)
End Sub
----
== Compliant Solution
----
Sub GoToStatementDemo()
Dim number As Integer = 1
Dim sampleString As String
' Evaluate number and branch to appropriate label.
If number = 1 Then
sampleString = "Number equals 1"
Else
sampleString = "Number equals 2"
End If
Debug.WriteLine(sampleString)
End Sub
----