前回まででローカルルールのお話は終わりです。今回からはStyleCopAnalyzers(スタイルコップアナライザー)というツールのお話をしていきます。
StyleCopAnalyzersとは?
スタイルコップを使えば「コンストラクタ」と「プロパティ」ではどちらを上に書くか?と悩まなくとも警告してくれる。これでみんなが嫌な思いをせず,コードを修正してくれるようになった。
StyleCopAnalyzersとは,コードを解析して,ルールに違反している箇所を警告として教えてくれるツールです。例えば「プロパティ」と「コンストラクタ」ではどちらを上に書くのが正しいか?とか,XMLコメントが漏れている箇所とか,そういったものを全部まとめて警告にしてくれます。
このツールのおかげで,チームのメンバーは何も言わなくても,正しいコーディングルールでコードを書くようになってくれました。毎回コードレビューをして,いちいち指摘しなくても,まちがった箇所はツールが「間違っている」と指摘してくれるおかげで,誰も嫌な思いをせずにみんな修正してくれるようになったのです。
コードレビューは非常に重要ですが,指摘するほうもされるほうもいい気持ちにならないこともあります。本当は「コードを憎んで人を憎まず」なので,良くないコードはあまり気にせずただ直せばいいだけなのですが,こちらの言い方が悪かったり,受け取る人次第では,人格が否定されたように感じる人もいないわけではありません。
チームのリーダーとしては,そういった思いをさせないように努めないといけないのですが,このツールが一定のレベルにまではコードを押し上げてくれるといった感じで,コードレビューでは,そういったレベルではなく,仕様上のコアなレベルのコードレビューに集中できるようになったという事です。
このツールはNugetから無料で使用できるので,まだ使っていない人は是非使ってみてください。次回よりこのツールの使い方を説明していきます。
#02_名前の付け方
#03_名前付けのガイドライン
#04_パスカルケースとキャメルケース
#05_パスカルとキャメルの内訳
#06_パスカルとキャメルの実演
#07_2文字の略語は大文字にする
#08_名前空間のガイドライン
#09_ローカルルールについて
#10_private変数にアンダーバーを付ける
#11_コントロールの名付け
#12_クラス名とファイル名の名づけ
#13_StyleCopAnalyzersについて
#14_StyleCopAnalyzersのインストール
#15_ネームスペースの調整
#16_SA0001_プロパティのビルドのXMLでファイルを指定しておくと消える
#17_CS1591_XMLコメントなし
#18_SA1101_thisが付いていない
#19_不要なルールを非表示にする方法
#20_SA1200_usingの場所
#21_SA1400_アクセス修飾子が明示的に定義されていない
#22_その他不要なルールを非表示
#23_コンストラクタとデストラクタを作成
#24_Private変数とパラメータ変数の命名
#25_中括弧の省略禁止と改行
#26_コメントはスラッシュ4つ
#27_プロパティのXMLコメント
#28_コンストラクタやプロパティの書く順番
#29_アクセスレベルを加味した書く順番
#30_インタフェースのIとファイル名の不一致
#31_最後に