CA1704: 識別子は正しく入力されなければなりません
Item | [値] |
---|---|
規則 ID | CA1704 |
カテゴリ | Microsoft.Naming |
互換性に影響する変更点 | あり |
原因
識別子の名前に Microsoft スペル チェック ライブラリで認識されない語が 1 つ以上含まれています。 この規則では、コンストラクターや特別な名前のメンバー (get および set プロパティ アクセサーなど) はチェックされません。
規則の説明
この規則では、識別子がトークンに解析され、各トークンのスペルがチェックされます。 解析アルゴリズムでは、次の変換が実行されます。
大文字から新しいトークンが始まります。 たとえば、MyNameIsJoe をトークンにすると、"My"、"Name"、"Is"、"Joe" になります。
大文字が複数ある場合は、最後の大文字から新しいトークンが始まります。 GUIEditor をトークンにすると、"GUI"、"Editor" になります。
先頭と末尾のアポストロフィは削除されます。 たとえば、'sender' をトークンにすると "sender" になります。
アンダースコアはトークンの末尾を示し、削除されます。 たとえば、Hello_world をトークンにすると、"Hello"、"world" になります。
埋め込まれたアンパサンドは削除されます。 たとえば、for&mat をトークンにすると "format" になります。
言語
スペル チェックでは現在、英語ベースのカルチャ辞書に対してのみチェックが実行されます。 プロジェクト ファイル内のプロジェクトのカルチャを変更するには、CodeAnalysisCulture 要素を追加します。
たとえば次のような点です。
<Project ...>
<PropertyGroup>
<CodeAnalysisCulture>en-AU</CodeAnalysisCulture>
重要
カルチャを英語ベースのカルチャ以外に設定した場合、このコード分析規則は警告なしで無効になります。
違反の修正方法
この規則の違反を修正するには、単語のスペルを修正するか、またはカスタム辞書に単語を追加します。
カスタム辞書に単語を追加するには
カスタム辞書 XML ファイルの名前を CustomDictionary.xml とします。 この辞書を、ツールのインストール ディレクトリ、プロジェクト ディレクトリ、またはユーザーのプロファイル内のツールに関連するディレクトリ (%USERPROFILE%\Application Data\...) に配置します。Visual Studio でカスタム辞書をプロジェクトに追加する方法については、「方法: コード分析辞書をカスタマイズする」を参照してください。
違反にすべきでない単語を、Dictionary/Words/Recognized パスに追加します。
違反にすべき単語を、Dictionary/Words/Unrecognized パスに追加します。
非推奨としてフラグを設定すべき単語を、Dictionary/Words/Deprecated パスに追加します。 詳細については、関連する規則のトピック「CA1726: 適切な用語を使用します」を参照してください。
頭字語の大文字と小文字の区別に関する規則の例外を、Dictionary/Acronyms/CasingExceptions パスに追加します。
カスタム辞書ファイルの構造の例を次に示します。
<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>
どのようなときに警告を抑制するか
意図的に間違ったスペルの単語を使用し、その単語がライブラリの限定的なセットに適用される場合のみ、この規則からの警告を抑制します。 正しいスペルの単語を使用すると、新しいソフトウェア ライブラリに必要な学習曲線が低くなります。
関連規則
- CA2204: リテラルは正しく入力されていなければなりません
- CA1703: リソース文字列は正しく入力されなければなりません
- CA1709: 識別子では、大文字と小文字が正しく区別されなければなりません
- CA1708:識別子は、大文字と小文字の区別以外にも相違していなければなりません
- CA1707:識別子はアンダースコアを含むことはできません
- CA1726: 適切な用語を使用します
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示