Stylecop ルール編

インストールを終えたところでルールを変更しておく。
設定はツールを使うか直接Stylecopのインストールフォルダーにある「Settings.StyleCop」ファイルを編集する。

とりあえず、以下の設定をオフにして使用中(順不同)。

No. 内容 理由
SA1623 プロパティの要約ドキュメントは、アクセッサーと一致していなければなりません 日本語ではムリ
SA1628 ドキュメントヘッダのテキストは小文字で始めなくてはならない 英語用
SA1629 ドキュメントヘッダのテキストは、ピリオドで終わらなくてはならない 英語用
SA1630 ドキュメントヘッダに、空白(単語の区切りの意)が含まれていない 日本語は句読点で区切るよね
SA1631 ドキュメントヘッダに、十分なアルファベットが含まれていない 日本語で書きたいの
SA1642 コンストラクタの要約ドキュメントは、標準テキストで始めなければなりません 英語の固定文を要求される
SA1643 デストラクタの要約ドキュメントは、標準テキストで始めなければなりません 英語の固定文を要求される
SA1650 スペルミスまたは認識されていない言葉が含まれています 英語前提で言われても
SA1027 タブではなくスペースを使いましょう エディタの設定次第
SA1121 型の完全な名称よりも、ビルトインで用意されている別名を使いましょう 既定より視認性がよい場合もある
SA1123 コード要素に”#Region”が含まれている ある方が見やすいような
SA1200 usingをnamesapeceの中に入れましょう VSの初期設定と違うのに!?

 

・ルートツリーの「Analyze designer files」のチェックを外す
フォームのデザインファイル(*.designer.cs)を除外が除外される
 

・ファイル自体を除外したい場合

// <auto-generated />

ファイルの先頭に追記する(VSで自動生成されたので除外という意味?)
 

・ブロック単位で除外したい場合

[SuppressMessage("ルールカテゴリー", "ルール", Justification = "除外する理由")]

除外したいブロックの先頭に追記する

System.Diagnostics.CodeAnalysis名前空間を使用する

ルールカテゴリー 説明
SpacingRules SA10xx コード内でのキーワードと記号の周りのスペース要件を強制するルール
ReadabilityRules SA11xx コードが適切にフォーマットされ、読み取り可能であることを確認したルール
OrderingRules SA12xx コードの内容のための標準順序付けスキームを実施するルール
NamingRules SA13xx メンバー、型、および変数の命名規則を強制するルール
MaintainabilityRules SA14xx コードの保守性を改善するルール
LayoutRules SA15xx コードレイアウトや行間を強制するルール
DocumentationRules SA16xx コードのドキュメントの内容と書式を検証するルール

記述例

[SuppressMessage("StyleCop.CSharp.DocumentationRules", "SA1600:ElementsMustBeDocumented", Justification = "除外したいねん")]

 

ルールの詳細はこちら(英語)