C#コーディングルール

C#コーディングルール_#30_インタフェースのIとファイル名の不一致

今回はインタフェースの命名のルールと,ファイル名とクラス名が同じでないといけないという2つのルールを解説していきます。

インタフェースの命名

インタフェースの命名ルールはインタフェース名の頭に「I」を付けるというものがあります。頭にIを付けていないと警告となります。

このように「Member」というインタフェースを作ると,頭に「I」が付いていない為警告が出ます。

SA1302

警告原因を見ると,インタフェースの頭が「I」で始まっていないという理由になっています。

「IMember」にクラス名を変更することで,SA1302の警告が消えます。ただ,このままだと,別の警告が代わりに表示されてしまい,警告が減りません。

SA1649

SA1649の警告が代わりに表示されてしまいました。これは,ファイル名と型名が一致していないという意味です。

現状,インタフェース名は「IMember」ですが,ファイル名は引き続き「Member.cs」のままです。この名前が異なる事への警告なので,ファイル名を「IMember.cs」にすることでこの警告を消すことができます。

これで警告が消えました。この警告があるおかげで,クラス名とファイル名が異なるという事態をなくすことができるので,この警告も無視せずに対応しましょう。

C#コーディングルール

■4700人以上が受講している動画コースはこちらからご確認ください

#01_はじめに
#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_最後に

■4700人以上が受講している動画コースはこちらからご確認ください