rspec/rules/S2373/rule.adoc

33 lines
794 B
Plaintext
Raw Permalink Normal View History

== Why is this an issue?
2020-06-30 12:48:07 +02:00
Shared naming conventions allow teams to collaborate efficiently. This rule checks that all generic type parameter names match a provided regular expression.
2021-02-02 15:02:10 +01:00
2020-06-30 12:48:07 +02:00
The default configuration is the one recommended by Microsoft:
2020-06-30 12:48:07 +02:00
* 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
2020-06-30 12:48:07 +02:00
2021-01-27 13:42:22 +01:00
With the default parameter value ``++^T(([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?)?$++``:
2022-02-04 17:28:24 +01:00
[source,text]
2020-06-30 12:48:07 +02:00
----
Public Class Foo(Of t) ' Noncompliant
End Class
----
=== Compliant solution
2020-06-30 12:48:07 +02:00
2022-02-04 17:28:24 +01:00
[source,text]
2020-06-30 12:48:07 +02:00
----
Public Class Foo(Of T) ' Compliant
End Class
----