JavaとC#の命名規約まとめ (JavaプログラマーがC#でプログラムを書いて引っかかったところ その3)
よくごっちゃになってしまうので、Java と C# の命名規約をざっとまとめてみました。
種類 | Java | C#(.NET) |
---|---|---|
クラス | Pascal | Pascal |
インタフェース | Pascal (例:List) | "I" + Pascal (例:IList) |
パッケージ / ネームスペース | Camel (例:java.net) | Pascal (例:System.Net) |
メソッド | Camel (例:toString()) | Pascal (例:ToString()) |
ローカル変数 | Camel | Camel |
メンバ変数 | Camel (例:Calendar.isTime) | Pascal (例:Calendar.IsReadOnly) |
定数 | Snake (例:Integer.MAX_VALUE) | Pascal (例:Int32.MaxValue) |
列挙定数 | Snake (例:State.RUNNABLE) | Pascal (例:ThreadState.Running) |
- CamelCase
- ・最初の単語はすべて小文字
・それ以降の単語は頭だけ大文字、頭以外は小文字
・例:fooBar - PascalCase
- ・単語の頭は大文字、頭以外は小文字
・例: FooBar - SnakeCase
- ・すべての単語は大文字
・単語と単語の間にアンダースコアを挿入
・例:FOO_BAR
初めて Java を書いたときは、命名規約が C言語と大体同じだったのでそこまで混乱しなかったのですが、C# は Java とも C言語とも違うので*1、慣れないと厄介ですね*2。
でも、改めて見てみるとローカル変数以外は PascalCase となっているので難しくはなさそうです。
参考:
大文字の使用規則 - .NET Framework デザインガイドライン
名前に関するガイドライン - .NET Framework デザインガイドライン