|
||||||||||||||||||||||||||
| 1 2 3 4 次のページ | ||||||||||||||||||||||||||
| はじめに | ||||||||||||||||||||||||||
|
今回も前回に続いて、コーディング規約について説明します。今回取り上げるのは、import/クラス/コンストラクタ/メソッド/クラスメソッドになります。 本連載で取り上げる規約のほとんどは、構造化言語のコーディング規約では見られないオブジェクト指向特有のものです。オブジェクト指向には様々なメリットがある反面、オブジェクト指向特有の問題点も存在します。 例えば、システム開発では複数の開発者で実装をすることが多いと思いますが、その時に次のような経験はありませんか。
|
||||||||||||||||||||||||||
|
表1:よくある問題点 |
||||||||||||||||||||||||||
|
これらは設計にもからむ内容ですので一概にはいえませんが、適切な権限設定やわかりやすいメソッドの定義を行うことである程度防ぐことができます。 オブジェクト指向は手続き指向よりも役割を明確にできるため、プログラムの利用法や製作意図を他の開発者に伝えやすく、リソースの共有も比較的容易になりました。しかし、リソースの共有が他の開発者に自分の意図とは違った使い方をされて不具合が発生したり、メソッドの役割が多すぎるために応用が利かなかったりといった問題も起こっています。 今回は、このような問題をコーディング規約によって改善していく方法を紹介します。 |
||||||||||||||||||||||||||
| import | ||||||||||||||||||||||||||
|
不要なものまでimportしてはいませんか。また、importする順序がソースによって違っていたりしませんか。 これらを気にしないでコードを書いていると可読性の低下などといった2次的な問題が発生しますので、importに関する規約を明確にしておくとよいでしょう。 |
||||||||||||||||||||||||||
| java.langパッケージはインポートしない(C_IMP002) | ||||||||||||||||||||||||||
|
最初に紹介する規約はjava.langパッケージはimportしないというものです。これはJava言語の仕様で、java.langは非明示的にimportされているためです。java.langに限らず、不要なimportは可読性の低下に繋がりますのでimportしないようにします。 import文は記述する際にjava.util.*のようにワイルドカードを利用することができます。これは便利なのですが知らないクラスがソースコードにある場合、どのパッケージに所属しているかを理解できなくなります。 このことから、ユーザパッケージおよび著名ではないクラスに関してはワイルドカードを利用しないことをお勧めします。 またimport文の書く順番にも気を配ることで、読みやすいコードとなります。書く順番についての規約は特にありませんが、一般的にjava/javax/ユーザパッケージの順で記述することが多いです。 |
||||||||||||||||||||||||||
|
1 2 3 4 次のページ |
||||||||||||||||||||||||||
|
参考文献など
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」 |
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||

