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>

どのようなときに警告を抑制するか

意図的に間違ったスペルの単語を使用し、その単語がライブラリの限定的なセットに適用される場合のみ、この規則からの警告を抑制します。 正しいスペルの単語を使用すると、新しいソフトウェア ライブラリに必要な学習曲線が低くなります。

関連項目