地平線に行く

2011-05-29

JavaとC#の命名規約まとめ (JavaプログラマーがC#でプログラムを書いて引っかかったところ その3)

| 22:47 |

よくごっちゃになってしまうので、JavaC# の命名規約をざっとまとめてみました。

種類JavaC#(.NET)
クラスPascalPascal
インタフェースPascal
(例:List)
"I" + Pascal
(例:IList)
パッケージ / ネームスペースCamel
(例:java.net)
Pascal
(例:System.Net)
メソッドCamel
(例:toString())
Pascal
(例:ToString())
ローカル変数CamelCamel
メンバ変数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 デザインガイドライン

*1C#の命名規約は Pascal から採用しているらしいです

*2メソッド名を Java の癖でキャメルケースにしてしまいます…

synsyn 2014/08/06 09:10 経験上、Javaのパッケージはlower_snake_caseが多かったです。

トラックバック - http://d.hatena.ne.jp/chiheisen/20110529/1306676847