よくごっちゃになってしまうので、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 デザインガイドライン