60 lines
1.5 KiB
Plaintext
60 lines
1.5 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Shared naming conventions allow teams to collaborate efficiently.
|
|
|
|
This rule raises an issue when a type name is not PascalCased.
|
|
|
|
For example, the classes
|
|
|
|
[source,csharp]
|
|
----
|
|
class my_class {...}
|
|
class SOMEName42 {...}
|
|
----
|
|
|
|
should be renamed to
|
|
|
|
[source,csharp]
|
|
----
|
|
class MyClass {...}
|
|
class SomeName42 {...}
|
|
----
|
|
|
|
=== Exceptions
|
|
|
|
* The rule ignores types marked with `ComImportAttribute` or `InterfaceTypeAttribute`.
|
|
* To reduce noise, two consecutive upper case characters are allowed unless they form the full type name. So, `MyXClass` is compliant, but `XC` is not.
|
|
* The rule allows having ``++'_'++`` characters in class names inside test projects: in that case, each word separated by ``++'_'++`` should be PascalCased.
|
|
|
|
[source,csharp]
|
|
----
|
|
class Some_Name___42 {...} // Compliant in tests
|
|
class Some_name___42 {...} // Noncompliant
|
|
class Some_Name_XC {...} // Noncompliant because of XC, should be Some_Name_Xc
|
|
----
|
|
|
|
== Resources
|
|
|
|
=== Documentation
|
|
|
|
* https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/capitalization-conventions[Microsoft Capitalization Conventions]
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
* Rename [class|interface|struct] "XXX" to match PascalCase naming rules, consider using "Xxx".
|
|
* Rename [class|interface|struct] "XXX" to match PascalCase naming rules, trim underscores from the name.
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
include::../comments-and-links.adoc[]
|
|
endif::env-github,rspecator-view[]
|