|
||||||||||||||||||||||||||
| 前のページ 1 2 3 | ||||||||||||||||||||||||||
| クラス | ||||||||||||||||||||||||||
|
クラスに関する命名規約もパッケージの命名規約と同様に、誰が見てもわかるように命名する必要があります。しかしパッケージ名と混ざらないように、クラス名はパッケージ名とは別のルールで命名する必要があります。 |
||||||||||||||||||||||||||
| クラス名は役割を表す名前にする(N_CLS007) | ||||||||||||||||||||||||||
|
クラス名には、機能IDや連番などの意味のわかりにくい名前を使用しないでください。「意味のある名前を使うこと」「省略しないこと」はパッケージ名の場合と同じ考え方です。 機能IDや連番によるネーミングは、慣れた人間にはかえって使いやすい面もあります。スペルが短くなりますし、よく似た名前に惑わされることもありません。口頭の打ち合わせでは「何番のクラスを使う」といえば、聞き違いによるミスは少なく済みます。覚えてしまえば、数字を聞いただけで、パッとその機能が頭に浮かぶようになるかもしれません。 しかし、システムの開発・メンテナンスがずっと同じメンバーによって行われるとは限りません。プロジェクトメンバーが変わらないことは、むしろ稀なことです。 新しいメンバーにとっては、連番によるクラス名は記号でしかありません。その意味を理解するには、クラス名一覧などの設計資料に頼るしかなく、資料なしにはプログラムが読めなくなってしまいます。 "a0001"や"mkAcc"などの抽象的な名前は避け、"makeAccount"のような具体的でわかりやすい名前をつけることによってクラスの内容を用意に連想できるようになり、ドキュメントに頼らなくても読みやすいコードとなります。 |
||||||||||||||||||||||||||
| クラス名は単語の先頭を大文字にする(N_CLS001) | ||||||||||||||||||||||||||
|
クラス名は先頭を大文字にして下さい。クラス名が複数の単語で構成されている場合は、各単語の先頭(区切り)を大文字にします。これは、Javaの一般的なルールです。 先頭を大文字にすることにより、すべて小文字で統一されているパッケージ名との区別が容易になることは、「パッケージ」の項で説明しました。では、単語の区切りを大文字にすることにはどのような効果があるでしょうか?まずは表4を見て下さい。
表4:大文字、小文字の差
表5:大文字、小文字の差(メソッド呼び出しの場合) こうして比べてみると、3が一番わかりやすい表記方法だということがよくわかります。 |
||||||||||||||||||||||||||
| クラス名に準じて命名する(N_CLS002〜N_CLS006) | ||||||||||||||||||||||||||
|
例外クラス名に"Exception"を付けるのは、継承関係を見るまでもなく例外クラスだとわかるようにするためです。同じように、能力付加型のインターフェイス名の最後に"able"をつけるのは、インターフェイスの役割が一目でわかるようにするためです。 クラス名を見てクラスのタイプが何かを判別できればいいので、プロジェクトごとにルールが決まっていれば必ずしもこの規約通りでなくてもかまいません。 インターフェイスや抽象クラスなどは役割が特殊ですから、明確に区別がつくような工夫をしてもよいと思います。例えば、以下のような方法があげられます。
表6:特殊な命名ルール |
||||||||||||||||||||||||||
| テストクラス | ||||||||||||||||||||||||||
|
テストと本番を間違えるようなことをなくすために、テストクラスの名称はテストだと明確にわかるようにしなければなりません。 |
||||||||||||||||||||||||||
| テストには「Test」とつける(N_TCL001、N_TCL002) | ||||||||||||||||||||||||||
|
テストクラスに"Test"とつけることにより、テスト用モジュールだとすぐにわかります。 テスト用モジュールを新プログラムと間違えて修正したり、誤ってテストモジュールをリリースしてしまったりという経験はありませんか?あるいは、テスト用モジュールと間違えて本番用モジュールを起動してしまったことはありませんか? 事故を未然に防ぐために、テスト用モジュールには明らかに「テスト用」とわかる名前をつけるべきです。 |
||||||||||||||||||||||||||
| 次回は | ||||||||||||||||||||||||||
|
今回はネーミング規約について説明をはじめましたが、いかがでしょうか。名前をつける大切さをわかってもらえればと思います。次回は、メソッド、引数、変数全般、ローカル変数についてのネーミング規約について説明します。 |
||||||||||||||||||||||||||
|
前のページ 1 2 3 |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||

