言語ごとの命名規則を整理する


記念すべきQiita投稿1回目です。宜しくお願いします。

はじめに

私はこれまでJavaをメインで使ってきましたが、半年前くらいにC#の開発にアサインされました。
既存コードを参考になんとなくコーディングしてきましたがあやふやな部分も多く、
今更ですが命名規則についてまとめておきたいと思いました。

スタイル

まずは命名規則に使われるスタイルのおさらいから。
覚えるの苦手でいつも忘れてしまう・・・

種類 説明
キャメルケース
camelCase
最初の単語を小文字から始めて、それ以外の単語を大文字から始める。
単語と単語はそのままつなげる。
パスカルケース
PascalCase
すべての単語を大文字から始める。
単語と単語はそのままつなげる。
スネークケース
snake_case
すべての単語を小文字にする。
単語と単語はアンダーラインでつなげる。
アッパースネークケース
SNAKE_CASE
すべての単語をすべて大文字にする
単語と単語はアンダーラインでつなげる。

命名規則

Java、JavaScript、C#で比較します。

種類 Java JavaScript C#
クラス Pascal Pascal Pascal
インターフェース Pascal - "I" + Pascal
パッケージ / ネームスペース camel - Pascal
メソッド camel camel Pascal
メンバ変数 camel camel Pascal
ローカル変数 camel camel camel
定数 SNAKE_CASE SNAKE_CASE Pascal

並べると違いがよく分かりますね。
Javaしかやってこなかった人間として感じた違和感の正体があらわになった気がします。
メソッドとメンバ変数はPascalなんですね。ここが違和感あり。
あと今のC#の現場で定数はアッパースネークケース使っている気がします。
ローカル変数だけcamelで他はPascalと覚えておけばよさそうですね。

おわりに

たぶんまだ忘れてしまうんだろうな・・・と思いながらもまとめてみました。
こんな感じで基礎的な知識でも気になったことを中心に、毎週投稿を目標にしたいと思っています。