rspec/rules/S1542/vbnet/rule.adoc
Fred Tingaud 51369b610e
Make sure that includes are always surrounded by empty lines (#2270)
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.
2023-06-22 10:38:01 +02:00

72 lines
1.5 KiB
Plaintext

== Why is this an issue?
Shared naming conventions allow teams to collaborate efficiently. This rule checks that all subroutine and function names match a provided regular expression.
The default configuration is the one recommended by Microsoft:
* Pascal casing, starting with an upper case character, e.g. BackColor
* Short abbreviations of 2 letters can be capitalized, e.g. GetID
* Longer abbreviations need to be lower cased, e.g. GetHtml
* Event handlers with a handles clause and two-parameter methods with ``++EventArgs++`` second parameter are not covered by this rule.
=== Noncompliant code example
With the default regular expression ``++^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$++``
[source,vbnet]
----
Module Module1
Sub bad_subroutine() ' Noncompliant
End Sub
Public Function Bad_Function() As Integer ' Noncompliant
Return 42
End Function
End Module
----
=== Compliant solution
[source,vbnet]
----
Module Module1
Sub GoodSubroutine() ' Compliant
End Sub
Public Function GoodFunction() As Integer ' Compliant
Return 42
End Function
End Module
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
=== Parameters
.regexp
****
_STRING_
----
^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$
----
Regular expression used to check the function names against
****
'''
== Comments And Links
(visible only on this page)
include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]