|
||||||||||||||||||||||||||
| 1 2 3 次のページ | ||||||||||||||||||||||||||
| はじめに | ||||||||||||||||||||||||||
|
ネーミング規約を無視したプログラムの読み辛さにイライラした経験はありませんか? ネーミング規約は、プログラムを書く時には「何故こんなルールを守らなくてはいけないのか」と煩わしく思われます。しかし、ネーミング規約に違反したソースコードを読む時には「何故こんなルールも守れないのか」と、腹立たしく思うものです。 規約にそったソースコードを書くのが煩わしいのは何故でしょうか?人によって理由は様々でしょうが、以下のような理由をあげる人が多いと思います。
|
||||||||||||||||||||||||||
|
表1:規約が守れない理由 |
||||||||||||||||||||||||||
この理由を見て、「プログラマの愚痴」と捉える人もいるかも知れません。しかし、規約そのものに問題がある場合もあります。では、以下のような規約だったらどうでしょうか?
|
||||||||||||||||||||||||||
|
表2:守りやすい規約 |
||||||||||||||||||||||||||
| こんなネーミング規約なら、守りやすいのではないでしょうか?意味がわからないルールは覚えにくい上に守る気もしないものですが、納得できるルールなら自然と頭に入り、また守りたくなるというものです。 ネーミング規約の目指すものは、「ソースコードの可読性の向上」です。「設計書などのドキュメントに頼らず、文章のように通読して意味のわかるソースコード」が理想です。 これらを踏まえて、今回は「納得できる=守りたくなる」ネーミング規約のあり方を考えています。
本連載で紹介する規約に関しては、規約名のみを記述しています。規約そのものは、以下のURLからダウンロードして確認してください。
http://www.objectclub.jp/community/codingstandard/JavaCodingStandard2004.pdf |
||||||||||||||||||||||||||
| 全般 | ||||||||||||||||||||||||||
|
ここでは、命名するときの全般的な規約について取り上げます。ここで取り上げる規約はパッケージ名、クラス名、インターフェイス名などの全体に渡って守るべき規約ですので、ネーミング規約の基本ともいえます。 |
||||||||||||||||||||||||||
| 英語を使え(N_GNR001) | ||||||||||||||||||||||||||
|
これは日本語のローマ字表記を避けることを意図しています。ローマ字は1文字ずつ追っていかないと意味が捉えられないのに対して、英単語はパッと見て意味を捉えることができます。また、ローマ字は長音や拗音の表記にバラつきがでやすいのも欠点です。 しかし、英語化に異を唱える人もいます。例えば次の意見があり、英語を使うことに否定的な方も多いのではないでしょうか?
表3:英語の問題点 |
||||||||||||||||||||||||||
| 1,2は大きな問題ではありません。ソースコードの可読性のためには多少長い名前になるのは仕方のないことですし、要件定義の際に単語集を作成しておけば、似たような単語で悩むことはありません。 問題は3です。業務用語の中には特定の企業・部署内のみで通じるような微妙ないいまわしなどがあり、日本語のままでも部外者には使いわけのできない言葉がよくあります。その場合は、割り切ってローマ字を当てることも許容すべきかもしれません。但し、必要最小限にとどめておいて下さい。 |
||||||||||||||||||||||||||
|
1 2 3 次のページ |
||||||||||||||||||||||||||
|
参考文献など
Javaコーディング規約2004は以下のサイトおよび書籍として発表しています。本連載と共に参考にしてください。 「Javaコーディング規約2004」 http://www.objectclub.jp/community/codingstandard/JavaCodingStandard2004.pdf 「オブジェクト倶楽部」 Javaコーディング規約2004は、オブジェクト倶楽部で公開して頂いております。 http://www.objectclub.jp/ 「超図解 Java ルールブック」 Javaコーディング規約が「超図解 Java ルールブック」という名前で書籍になりました。規約の詳しい内容に関しては本書籍をご覧ください。 http://www.x-media.co.jp/xbook/index.cfm?ID=6 Javaコーディング規約を理解するに際しての参考サイトをご紹介します。 「Code Conventions for the Java Programming Language」 http://java.sun.com/docs/codeconv/ ※日本語訳を提供しているページ http://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/ Java コーディング規約を理解するに際しての参考書籍をご紹介します。 「Java の格言」 「Java の鉄則」 「リファクタリング - プログラミングの体質改善テクニック」 「The Elements of Java Style」 「Effective Java - プログラミング言語ガイド」 「Essential Java Style」 |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||

