
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
62 lines
1.4 KiB
Plaintext
62 lines
1.4 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Shared coding conventions allow teams to collaborate efficiently. This rule checks that all even handler names match a provided regular expression.
|
|
|
|
|
|
The default configuration is:
|
|
|
|
* Either in Pascal case, i.e. starting with an upper case letter, e.g. OnMyButtonClicked
|
|
* Or, a subject, in Pascal or camel case, followed by an underscore followed by an event name, in Pascal case, e.g. btn1_Clicked
|
|
|
|
Event handlers with a ``++handles++`` clause and two-parameter methods with ``++EventArgs++`` second parameter are covered by this rule.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
With the default regular expression ``++^(([a-z][a-z0-9]*)?([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?_)?([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$++``:
|
|
|
|
[source,vbnet]
|
|
----
|
|
Module Module1
|
|
Sub subject__SomeEvent() Handles X.SomeEvent ' Noncompliant - two underscores
|
|
End Sub
|
|
End Module
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,vbnet]
|
|
----
|
|
Module Module1
|
|
Sub subject_SomeEvent() Handles X.SomeEvent ' Compliant
|
|
End Sub
|
|
End Module
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Rename event handler "xxx" to match the regular expression: "yyy".
|
|
|
|
|
|
=== Parameters
|
|
|
|
.format
|
|
****
|
|
|
|
----
|
|
^(([a-z][a-z0-9]*)?([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?_)?([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$
|
|
----
|
|
|
|
Regular expression used to check the even handler names against.
|
|
****
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|