1. はじめに
以前にJavaの開発環境メモという記事を作成した。
自分用の備忘録として役に立っているので、Visual Studio版を作成する。
1-1. 環境
Visual Studio2019 Community
2. Visual Studioの設定
2-1.Visual Studioの設定
2-2.ソリューションの設定
2-2-1.コード分析規則セットを追加
- ソリューションを右クリックし、[追加]-[新しい項目]
- 「コード分析規則セット」を選択
- ルールセットを設定する
2-3.プロジェクトの設定
2-3-1.Properties
- [アプリケーション]-[既定の名前空間]
- [ビルド]-[XMLドキュメントファイル]をチェック(SA0001対応)
- [コード分析]-[アクティブな規則]
3.Nuget
3-1.StyleCop.Analyzers
3-1-1.StyleCopAnalyzersとは
C#の静的分析ツール。
バージョンは最新の安定板である1.1.118を使用する。(2021/1/1)
2019/4/30から更新されていない。
以前にStykeCopを使用したことがあるが、StyleCop.Analyzersとの違いを調べてみた。
StyleCopの後継。
3-1-2.参考URL
https://opcdiary.net/stylecopanalyzers%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/
https://qiita.com/github129/items/8270dc74599e71af5285
3-1-3.特定のルールを無効化する方法
コード分析規則セットを作成(2-2-1参照)し、プロジェクトでそのファイルを適用する。
1. プロジェクトの「Properties」をダブルクリック
2. [コード分析]-[アクティブな規則]
3. 参照でファイルを選択
3-1-4.無効にするルール
番号 | ルール | 無効理由 |
---|---|---|
SA1200 | UsingDirectivesMustBePlacedCorrectly | usingディレクティブがnamespaceエリア外に記述されている。初期状態がそうなっていて、特に困らないので |
SA1623 | PropertySummaryDocumentationMustMatchAccessors | プロパティのコメントルール。Gets or setsで始める必要がある。不要 |
SA1629 | DocumentationTextMustEndWithAPeriod | ドキュメントの最後をピリオドにする。不要 |
SA1633 | FileMustHaveHeader | ファイル先頭の著作権表示は不要なルールなので |
SA1642 | ConstructorSummaryDocumentationMustBeginWithStandardText | コンストラクタのドキュメントの書き方。不要 |
SA1643 | DestructorSummaryDocumentationMustBeginWithStandardText | デストラクタも同様に不要 |
4.Git
5.Jenkins
6.コーディングルール
6-1.名前付けのガイドライン
基本は以下のマイクロソフトのルールを使用する。
https://docs.microsoft.com/ja-jp/dotnet/standard/design-guidelines/naming-guidelines
- 名前は英語で付ける。(同じ意味の英単語が複数ある場合は、辞書を作成する)
- 1単語ごとの頭文字を大文字にする。(Pascal表記)
6-2.書く順番
まずは項目ごとに並べる。同じ項目の場合は、アクセスレベルごとに並べる。
アクセスレベルが同じならstaticを上にする。
なので、internal staticのフィールドとpublicのフィールドがある場合は、publicを上にする。
6-2-1.項目の順番(SA1201)
フィールド
コンストラクター
ファイナライザー (デストラクター)
デリゲート
イベント
列挙型
インターフェイス
プロパティ
インデクサー
メソッド
構造体
クラス*(C#9のレコードを含む)
6-2-2.アクセスレベルの順番(SA1202)
public
internal
protected internal
protected
private protected
private
6-2-3.staticの順番(SA1204)
staticと非staticはstaticを上に書く