命名規約

命名規約


1 はじめに

プログラミングをする際,変数や関数に名前を付ける.その変数や関数に適当な名前を付けてしまうと可読性が落ち,
見た目が悪くなる.効率的なプログラミングには,良い名前というのが非常に重要である.
また,チームでの開発では,明確な名前の付け方がなければ,すぐさまソースコードが読解できなくなってしまう.
そのような自体を避けるために,命名規約というものが存在する.本稿では,その命名規約について紹介する.



2 命名規約

命名規約[1]とは,プログラミングにおいてソースコード内の識別子に使われる文字列を決定する際に適応される規則である.
ネーミング規則,ネーミング規約,命名規則とも呼ぶ.本稿では,命名規約と呼ぶことにする.

2.1 命名規約のメリット・デメリット

命名規約を使用することによって得られるメリットは多い.
  • 開発チームで一貫したプログラムを作成することができる
  • ソースコードの可読性と見た目を向上させる
  • 複数のチームが開発したものを統合するような場合に,名前がかち合うのを防げる

実際に,あまりにも理不尽な命名規約でない限り,デメリット[2]は非常に少ない.
  • 転職した際にコーディング規約を覚えなおすのが大変である
  • あまりにも細かい規約は,かえってプログラムを読み難くし, プログラミング効率も下がってしまう

2.2 命名規約が必要な理由

複数人で命名規約なし開発を行ってしまえば,各々が自由にプログラミングを行い,結果,ソースコードの可読性と見た目が悪くなる.
そのようなソースコードの変更・保守を自分が引き継ぐことになった場合,変更・保守よりもソースコードを読解することに時間を費やさなければならなくなる.
そのような状況に陥らないために,命名規約を決めてからプログラムをするべきだ.
そうすれば,チームで開発したときに,各自のソースコードが混同してしまうのを防ぐことができる.
また,ソースコードの可読性と見た目が向上し,他のプログラマが,ソースコードを読んで理解しなければならない必要性を削減することができる.
よって,命名規約を決めた上でプログラムをするべきである.



3 ハンガリアン記法

命名規約の一つであるハンガリアン記法[3]を紹介する.

3.1ハンガリアン記法とは

 ハンガリアン記法とは,名前の先頭にTypeや型などを表す文字列(プリフィックス)をつけるというものである.
ハンガリアン記法の名称は,考案者のチャールズ・シモニーがハンガリー出身であることに由来する.
ハンガリアン記法には二種類あり,アプリケーションハンガリアンとシステムハンガリアンがある.

3.2 正しいハンガリアン記法

 本来,シモニーの意図していたハンガリアン記法とは,変数の意味や使用目的から接頭語を決定することであり,
型では判別できない情報を変数名に付与することで,紛らわしい変数の意味を明白にして混同をさけるためのものであった.
例えば,ドルにプレフィックスdol,円にプレフィックスyenとした場合,dolIncome + yenDepositのような計算は間違いであることが明確になる.
このように,シモニーの意図を理解している記法をアプリケーションハンガリアンという.

3.3 間違ったハンガリアン記法

 アプリケーションハンガリアンとは逆に,シモニーの意図を誤解した記法をシステムハンガリアンという,
これは,変数名にデータ型を表す接頭語や接尾語をつける記法だと誤解された記法である.
 例えば,Int型の変数にはiを,Float型の変数にはfをプレフィックスとして付けるといった,型情報以上の意味を持たない場合である.



4 その他の命名規約

4.1 Camal記法[4]

最初の単語のみ小文字で始め,以降の単語は先頭文字を大文字で記述することをローワーキャメルケースという.
例)thisIsAnExample

各単語の先頭文字は大文字で記述することをアッパーキャメルケースという.
例)ThisIsAnExample

4.2 アンダーバー区切り

単語は全て小文字で記述し,区切り文字はハイフンかアンダースコアで記述する.ハイフンで記述する方法は,COBOLやLISPでよく使用される.
例)this_is_an_example



5 各言語の命名規約

各言語で予め決まっている規約について記述する.

5.1 C,C++

C,C++で定義されるマクロは慣習として大文字で書かれる.
その他,アンダースコア2個,あるいはアンダースコアと大文字1個ずつで始まる名前は,コンパイラで使用される規約なので使用してはならないと決まっている.

5.2 Java

 Javaでは,言語の設計時点からクラスや変数での大文字の使い方が決められている.
例えば,メソッドは,先頭の単語が小文字で,先頭以外の各単語の頭は大文字になるように命名しなければならないと決まっている.

5.3 VisualBasic,VB.NET,BASIC

 VBでは変数名にプレフィックスを付ける方法が推奨されている.
例えば,メンバ変数にはmを付けるといったようなことです.これは,ハンガリアン記法と同じです.



おわりに

みなさんも,プログラミングをする際には,命名規約を決めて,自分も他人も読みやすいプログラムを目指さなければなりません.以上で命名規約の紹介を終了する.



参考文献

[1] 命名規約(プログラミング)
<http://ja.wikipedia.org/wiki/>
(2008/07/04 アクセス)


[3] ハンガリアン記法
<http://ja.wikipedia.org/wiki/>
(2008/07/04 アクセス)

[4] 職業のプログラミング
<http://proger.blog10.fc2.com/blog-entry-16.html>
(2008/07/04 アクセス)



最終更新:2009年05月31日 15:28
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。