33 lines
794 B
Plaintext
33 lines
794 B
Plaintext
== Why is this an issue?
|
|
|
|
Shared naming conventions allow teams to collaborate efficiently. This rule checks that all generic type parameter names match a provided regular expression.
|
|
|
|
|
|
The default configuration is the one recommended by Microsoft:
|
|
|
|
* Must start with an upper case 'T' character, e.g. T
|
|
* Followed by Pascal casing, starting with an upper case character, e.g. TKey
|
|
* Short abbreviations of 2 letters can be capitalized, e.g. TFooID
|
|
* Longer abbreviations need to be lower cased, e.g. TFooHtml
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
With the default parameter value ``++^T(([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?)?$++``:
|
|
|
|
[source,text]
|
|
----
|
|
Public Class Foo(Of t) ' Noncompliant
|
|
End Class
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,text]
|
|
----
|
|
Public Class Foo(Of T) ' Compliant
|
|
End Class
|
|
----
|
|
|