2013年1月10日木曜日

【Java】命名規則

久々に技術的なことも書いてみます。
今回はJavaの命名規則について。

Androidアプリのように個人で開発をする場合では意識しなくても良いこともありますが(本当はよくないが)、規模が大きなWebアプリの開発などでは複数人のプログラマが1つの資産に対して手をつけることが多々あります。

皆が思いおもいにコーディングしていたら、可読性が低く、わかりずらいソース群が出来上がります。
そんなことがないようコーディング規約を設けて、一定のルールでコーディングが行われるよう制御したりします。
(実際の業務でお目にかかったことはないですが。。。)

さらに細かく言うと、クラス名・変数名・メソッド名を決定する際には、命名規則に沿った名前を付けることで、ソースの可読性を高め、より理解しやすいものとなります。


前置きが長くなりましたが、ルール通りに命名することで、自分にも他人にもやさしい、美しいソースが出来上がるって事です!

それでは行ってみましょう!

一般的なこと
フルスペルの英語記述を使用する(省略表記を避ける)
// 「高さ」だとすぐにわかる
int height; 

// わかりづらい
int hgt; int ht; int h; 

// ある意味わかりやすい。。。が論外
int 高さ; 
複数の単語で構成する場合は、2語目以降は先頭を大文字にする
String firstName;
長い名前を避ける(15文字以内)
// 長すぎる
String baseballOrSoccerOrRugbyOrTennis; 

// スッキリ
String ballSport; 
クラス
単語の先頭を大文字にする
class Hoge { ...
class HogeSample { ...
パッケージ
すべての単語を小文字にする
jp.gr.java_conf.siroco
変数
先頭の文字を小文字とし、2単語目以降の先頭を大文字にする
String name;
Stirng firstName;
メソッド
可能な限り先頭を能動態の動詞で始め、先頭の文字を小文字にする
private void addAccount() {};
private String changePassword() {};
定数
すべて大文字で表記し、単語間をアンダースコア"_"でつなぐ
static final String DEFAULT_PASSWORD = "hogehoge"

こんなところでしょうか。
その他にも細々したものもありますので、色々調べてみると面白いと思います。

0 件のコメント:

コメントを投稿