2023-05-03 11:06:20 +02:00
|
|
|
== Why is this an issue?
|
|
|
|
|
2021-04-28 16:49:39 +02:00
|
|
|
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.
|
|
|
|
|
2021-04-28 18:08:03 +02:00
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
=== Noncompliant code example
|
2021-04-28 16:49:39 +02:00
|
|
|
|
|
|
|
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})?$++``:
|
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,vbnet]
|
2021-04-28 16:49:39 +02:00
|
|
|
----
|
|
|
|
Module Module1
|
|
|
|
Sub subject__SomeEvent() Handles X.SomeEvent ' Noncompliant - two underscores
|
|
|
|
End Sub
|
|
|
|
End Module
|
|
|
|
----
|
|
|
|
|
2021-04-28 18:08:03 +02:00
|
|
|
|
2023-05-03 11:06:20 +02:00
|
|
|
=== Compliant solution
|
2021-04-28 16:49:39 +02:00
|
|
|
|
2022-02-04 17:28:24 +01:00
|
|
|
[source,vbnet]
|
2021-04-28 16:49:39 +02:00
|
|
|
----
|
|
|
|
Module Module1
|
|
|
|
Sub subject_SomeEvent() Handles X.SomeEvent ' Compliant
|
|
|
|
End Sub
|
|
|
|
End Module
|
|
|
|
----
|
2021-04-28 18:08:03 +02:00
|
|
|
|
2021-09-20 15:38:42 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
2023-05-25 14:18:12 +02:00
|
|
|
=== 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.
|
|
|
|
****
|
2021-09-20 15:38:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|