Skip to content

MS_StyleCop

nishi_74322014 edited this page Aug 18, 2026 · 1 revision

StyleCop

概要

  • C# のコーディング内容をチェックするオープンソースのツール

  • Microsoft の内部にて使用されていたツールが、

    • 2008 年に MSDN Code(MSDN Archive)にて無償公開
    • 2010 年に CodePlex にてオープンソース公開
  • 以下のような内容をチェックできる。

    1. ヘッダーの設定
    2. 命令やクエリ句の書き方
    3. 行間の空行の数
    4. フィールド、変数、メソッド等の命名規約
    5. 括弧の配置、記法
    6. キーワードや括弧前後のスペース
    7. クラス内の順序(Public → Protected など)
    8. 使用する型やクラスの指定(String でなく string"" ではなく String.Empty 等)
  • Visual Studioと統合されているが、Express Edition の場合、
    アドオンが許可されていないため、ビルド プロセス(MSBuild) と統合する必要がある。

移行メモ(元ページ名の誤字): 元ページのタイトルは
「StyelCop」yl が入れ替わった綴り)となっていたが、
正しくは StyleCop であるため、
本ページではファイル名・タイトルとも修正して掲載した。
本文中の FxCopページからの参照も同様。

補足(FxCop との役割の違い): 名前が似ているが、
見ているものが根本的に違う

StyleCop FxCop
分析対象 ソースコード(テキスト) ビルド後のアセンブリ(IL)
観点 書式・スタイル(読みやすさ) 設計・実装の正しさ
インデント、空行、using の順序 破棄漏れ、例外の投げ方、命名規約
直し方 機械的に修正できるものが多い 設計判断を伴うことがある

「読める」を担保するのが StyleCop、
「正しい」を担保するのが FxCop、という分担である。

詳細

補足(最新化:StyleCop.Analyzers へ): 元ページが扱っている
StyleCop(VS アドイン + MSBuild タスク)は開発が終了しており、
現在は StyleCop.Analyzers(Roslyn アナライザ)に置き換わっている。

dotnet add package StyleCop.Analyzers

Roslyn アナライザになったことで、以下が変わった。

旧 StyleCop StyleCop.Analyzers
実行 別プロセス(VS アドイン / MSBuild タスク) コンパイラに統合。入力中にリアルタイム警告
対象 Windows / VS 依存 クロスプラットフォームdotnet build で動く)
設定 Settings.StyleCop(JSON) stylecop.json + .editorconfig
自動修正 限定的 Code Fix でまとめて修正可能

設定の運用は、

  • .editorconfig に規則の重大度(error / warning / none)を書く
  • リポジトリ ルートに置いてチーム全体で共有する
  • dotnet format で一括整形する

という形が現在の標準である。
CI で TreatWarningsAsErrors と併用すれば、
書式違反をビルド失敗として弾けるビルド)。

補足(ルールは必ず取捨選択する): StyleCop の既定ルールには、
SA1600(すべての要素に XML ドキュメント コメントを要求)のように
そのまま適用すると現実的でないものが含まれる。
FxCopの「アドバイスを盲目的に適用するのは危険」と同じで、
プロジェクトの方針に合わせて .editorconfig で無効化するのが前提である。

参考

FxCop

FxCop

Jenkins構築手順

Jenkins構築手順(MS_JenkinsSetup.md


Tags: 移行, テスト, デバッグ, .NET開発, ツール類, ドキュメンテーション, CI

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally