Identifiers should be spelled correctly
TypeName | IdentifiersShouldBeSpelledCorrectly |
CheckId | CA1704 |
Category | Microsoft.Naming |
Breaking Change | Breaking |
This rule parses the identifier into tokens and checks the spelling of each token. The parsing algorithm performs the following transformations:
Capital letters start a new token. For example, MyNameIsJoe tokenizes to "My", "Name", "Is", "Joe".
For multiple capital letters, the last capital letter starts a new token. For example, GUIEditor tokenizes to "GUI", "Editor".
Leading and trailing apostrophes are removed. For example, 'sender' tokenizes to "sender".
Underscores signify the end of a token and are removed. For example, Hello_world tokenizes to "Hello", "world".
Embedded ampersands are removed. For example, for&mat tokenizes to "format".
The English (en) version of the spelling checker is used by default. No other language dictionaries are currently available.
To fix a violation of this rule, correct the spelling of the word or add the word to a custom dictionary named CustomDictionary.xml. Place the dictionary in the installation directory of the tool, the project directory, or in the directory associated with the tool under the user's profile (%USERPROFILE%\Application Data\...).
Add words that should not cause a violation under the Dictionary/Words/Recognized path.
Add words that should cause a violation under the Dictionary/Words/Unrecognized path.
Add words that should be flagged as obsolete under the Dictionary/Words/Deprecated path. See the related rule topic "Use preferred terms" for more information.
Add exceptions to the acronym casing rules to the Dictionary/Acronyms/CasingExceptions path.
The following is an example of the structure of a custom dictionary file.
<Dictionary>
<Words>
<Unrecognized>
<Word>cb</Word>
</Unrecognized>
<Recognized>
<Word>stylesheet</Word>
<Word>GotDotNet</Word>
</Recognized>
<Deprecated>
<Term PreferredAlternate="EnterpriseServices">ComPlus</Term>
</Deprecated>
</Words>
<Acronyms>
<CasingExceptions>
<Acronym>CJK</Acronym>
<Acronym>Pi</Acronym>
</CasingExceptions>
</Acronyms>
</Dictionary>