第6回:オブジェクト指向のためのコーディング規約 (4/4)

Javaコーディング規約
Javaコーディング規約

第6回:オブジェクト指向のためのコーディング規約
著者: 電通国際情報サービス  高安 厚思、東田 健宏
インクステクニカルサービス  島澤 甲   2005/10/18
前のページ  1  2  3  4
クラスメソッド

   クラスメソッドを使用する際にはオブジェクト名を用いて呼び出すのではなく、クラス名を用います。クラス名を用いることで、コードがより明確になり可読性が向上します。
クラスメソッドを利用するときは、クラス名を使って呼び出す(C_CMD001)

   クラス名ではなくオブジェクト名からクラスメソッドを呼び出すと、次のような弊害が発生します。

  • 呼び出したクラスメソッドがstaticであるか否かの判断が一目ではつかなくなる
  • オブジェクト名でクラスメソッドを呼ぶと、staticメソッドを呼ぶために無駄なインスタンスを作成する必要があるうえに、またそういった無駄なインスタンスの生成に気がつくこともなくなってしまう
   これではコードを修正する時に、メソッドが静的か動的かについてソースを見ながら1つ1つ判断しなければならなくなりますので、クラスメソッドを呼ぶ時はクラス名を用いるようにしてください。


まとめ

   Javaコーディング規約の第6回目としてimport/クラス/コンストラクタ/メソッド/クラスメソッドの説明をしてきました。

   今回はオブジェクト指向特有の規約が多かったので、読者の中には規約を完全に守ろうとすると設計の見直しの必要がでてしまうなど、多大なコストが発生してしまう方もいらっしゃるかと思います。

   しかし規約を適用しない場合の方が、多くの場合コストは高くつきます。例えば、バグを取り除くために一日費やしたあげくに原因は非常に単純だったという経験はないでしょうか。これはコードの可読性が低いために原因の特定が難しくなり、無駄な時間を費やしてしまう典型的なパターンです。

   規約によりプロジェクト内で体系立ったコーディングを行えば、開発者同士のコミュニケーションも取りやすくなりますし、またコード品質の向上も期待できます。そしてその結果、コストも最終的には下がることにつながります。

   今回紹介した規約を守ることで、記事の冒頭で述べた問題点についてはほとんど解決することができると思います。ぜひ実践してみてください。

前のページ  1  2  3  4


株式会社電通国際情報サービス 開発技術センター 高安 厚思
著者プロフィール
株式会社電通国際情報サービス  高安 厚思
株式会社電通国際情報サービス 開発技術センター
Java(J2EE)/オブジェクト指向の研究開発やプロジェクト支援、開発コンサルティングに従事。モデル、アーキテクチャ、プロセスが探求対象。今回は Javaコーディング規約2004の仕掛け人。


株式会社電通国際情報サービス 開発技術センター 東田 健宏
著者プロフィール
株式会社電通国際情報サービス  東田 健宏
株式会社電通国際情報サービス 開発技術センター
CTI、Webアプリの開発経験を経て、現在は主にプロジェクトマネジメント支援、プロセスエンジニアリング、ソフトウェア工学研究開発に従事。最近はコーチング、ファシリテーションといったヒューマン系スキルに興味を持ち日々修得に努めている。


インクステクニカルサービス株式会社 島澤 甲
著者プロフィール
インクステクニカルサービス株式会社  島澤 甲
インクステクニカルサービス株式会社 システム開発部所属
現在は主にJavaによるWebアプリの開発を担当している。Javaで初めてオブジェクト指向に触れ、オブジェクト指向による分かり易い設計とは何か日々模索している。


INDEX
第6回:オブジェクト指向のためのコーディング規約
  はじめに
  クラス
  メソッド
クラスメソッド
Javaコーディング規約
第1回 良いコードとは、心得5ヶ条
第2回 コーディングレベルを上げるためには?
第3回 ネーミング規約(前編)
第4回 ネーミング規約(後編)
第5回 フォーマットに関するコーディング規約
第6回 オブジェクト指向のためのコーディング規約
第7回 変数に関するコーディング規約
第8回 文字操作・数値・日付に関するコーディング規約
第9回 継承とインスタンスに関わるコーディング規約
第10回 制御構造に関する規約
第11回 コレクション・ストリーム・例外に関するコーディング規約
第12回 スレッド・ガベージコレクションに関するコーディング規約

人気記事トップ10

人気記事ランキングをもっと見る