
When an include is not surrounded by empty lines, its content is inlined on the same line as the adjacent content. That can lead to broken tags and other display issues. This PR fixes all such includes and introduces a validation step that forbids introducing the same problem again.
58 lines
1.5 KiB
Plaintext
58 lines
1.5 KiB
Plaintext
== Why is this an issue?
|
|
|
|
``++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.
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,vbnet]
|
|
----
|
|
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
|
|
|
|
[source,vbnet]
|
|
----
|
|
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
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::../message.adoc[]
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|