前回はStyleCopAnalyzersのお話をしました。StyleCopAnalyzersを使うと,間違った書き方をすると警告が出るので,チーム全員が同じ書き方でコーディングができるようになります。今回はそれのインストールのやり方を見ていきましょう。
プロジェクトの作成
ここからは,また新しいプロジェクトを作成して,その後にStyleCopAnalyzersをインストールする方法を解説していきます。なぜ新しいプロジェクトを作成し直すのかというと,StyleCopAnalyzersをインストールすると,全く新たに作成しただけのデフォルト状態のプロジェクトでも色々と警告が出てくるのです。それをどのように対処していくのか?という事を説明したいので,ここでは新たにプロジェクトを作成します。
まずは,以前の講義の時と同様にVisualStudio2019を起動します。VisualStudio2017かVisualStudio2015でもOKですが,解説しているレイアウトとは少し異なるので,それに関してはそれぞれのバージョンでの操作を行ってください。
それではまず「新しいプロジェクトの作成」を選択します。
続いて「Windowsフォームアプリケーション」を選択して「次へ」を選択します。
「プロジェクト名」は「MX99.WinForm」とし,「ソリューション名」は「MX99」としましょう。場所は保存先なので,任意の場所をしています。ここまで入力できたら作成を押下します。
インストール
それでは,ここまでの講義で使用している「MX99.WinForm」のプロジェクトにStyleCopAnalyzersを入れてみましょう。
「MX99.WinForm」のプロジェクトを右クリックして「NuGetパッケージの管理」を選択します。
NuGetの画面が表示されたら,画面上部の「参照」を選択します。
「参照」が表示されている状態で,検索テキストボックスに「StyleCopAnalyzers」と入力します。
そうすると,似たような名前のツール名が一覧に色々出てきますが,赤枠で示している「StylCop.Analyzers」というツールを選択してください。
選択したら,「インストール」ボタンを押下します。
次のような画面が表示されたら,「OK」ボタンを押下します。
「出力ウィンドウ」に正常にインストールされた旨のメッセージが出ていれば完了です。
「出力ウィンドウ」を表示していない場合は,NuGetの画面を一度閉じて,もう一度表示してみましょう。「インストール済み」メニューが選択された状態で,「StyleCop.Analyzers」が一覧に表示されていれば,インストール成功です。
ここまでできたら一度コンパイルをしてみましょう。
警告
今回VisualStudioを立ち上げてWindowsフォームプロジェクトを作成して,自分では1行もコードを書いていませんが,さっそくスタイルコップの警告が表示されています。
要するに,デフォルトの状態でもルールを守れていない場所というのがあるという事です。
また,英語圏のルールで警告が出ているため,「文章の最後にピリオドがありません」といったような,日本語でコメントを記述している私たちにとっては,「そのルールは適応されても困る」というものもあります。それらの警告を非表示にしたり,修正したりする必要があります。次回はこれらの警告をどのように対応していくのかを解説していきます。
#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_最後に