0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

命名規則を今更ながらまとめてみた

Posted at

命名規則とは?

命名規則とは、変数名などを名付ける際の決まり事のことを言います。

変数などでは2つの意味の単語をつなぎ合わせて1つの変数とすることがよくあります。
例)userId, SourceCode, localhostなど

そんな時に命名規則があることで、統一した、わかりやすい変数名を付けることができるようになります。

命名規則は、各言語や開発環境、組織の決まりなどによって様々ですが、有名な書き方があるのでいくつか紹介します。

様々な命名規則

キャメルケース(camelCase)

userTypeIdのように書きます。
先頭(user)が小文字、続く要素(Type, Id)の1文字目が大文字です。
ローワーキャメルケースとも呼びます。

パスカルケース(PascalCase)

UserTypeIdのように書きます。
各要素(User, Type, Id)の1文字目が大文字です。
アッパーキャメルケースとも呼びます。

スネークケース(snake_case)

user_type_idのように書きます。
各要素(user, type, id)が小文字で、要素間を"_"で繋ぎます。

チェインケース(chain-case)

user-type-idのように書きます。
各要素(user, type, id)が小文字で、要素間を"-"で繋ぎます。
ケバブケースとも呼びます。

言語ごとに命名規則が違う

各プログラミング言語によって命名規則は違います。今回はJavaの命名規則を例として紹介します。

種類 命名規則
クラス名 パスカルケース UserModel
変数 キャメルケース userName
メソッド キャメルケース getUserName
定数 スネークケース MAX_CONNECTION

その他の書き方規則

定数は基本的に大文字にすることが多い

MY_NAMEPATHのように書きます。
定数は基本的に変わることのない値、新たに値を入れることのない値です。
誤って別の数値を入れてしまわないように、定数だとわかるように大文字にすることが多いです。

2 to 4 for

P2P(Peer to Peer), good4you(good for you)のように書きます。
昔のコードなどにはたまにtoを2、forを4で書いている変数があります。
これは英語のスラングからきており、文字数を減らすために使われていましたが、この書き方はおすすめしません。
直感的にわかりづらく、エンジニアの中でも共通認識があるものではなくなっているからです。

ハンガリアン記法

iIdsNameのように書きます。
iIdisNamesは型を表します。

この書き方の良いところは別の型の変数に間違って代入するミスが減らせるところです。

String sId = "A1234";
int iId = 1234;

sId = iId;

ただ、開発環境やコンパイラが高機能化されたことにより、容易に型や、エラー箇所を知ることができるようになったため、最近では使われません。
逆に読みづらくなってしまうので避けられている書き方です。

終わりに

ハンガリアン記法などはこの記事を執筆するために調べていたら初めて見つけましたが、見たことがある書き方でした。
いまだにこのような古い命名規則を利用している場面を見つけるので、是非とも撲滅していきたいですね。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?