Java コーディングのルール

3.2 Java コーディングのルール

 少し大きな規模のプログラムになると、自分で書いた内容であっても、後で見返したときに、それぞれの箇所で何の処理をしているかがわからないことがあります。また、規模の大きな企業の開発では、複数のプログラマがチームになって 1 つのプログラムを作ったり、以前に作成されたプログラムを修正することがあります。このとき、他の人が書いたプログラムを読んで内容を正しく理解する必要があります。こういう場合に重要なのは、あらかじめ見やすいプログラムを書いておくことです。見やすいプログラムを書くためのテクニックとして、Javaにおいて慣例となっているコーディングの規則を少しお話します。

3.2.1 ブロック文とインデント

 先に出てきた 3.1.1 のサンプルプログラムを見て気づかれた方もいらっしゃるかと思いますが、プログラムの記述が特定の位置で改行され、ブロックの内部が少し右側にずれている箇所がありました。これを、インデント(字下げ)といいます。
 先ほどの HelloJava.java を例にして、インデントがどのようにされているかを見てみましょう。

図 3.2.1 : インデント

 上の図を見ると、「 ; 」、「 { 」、「 } 」の次が改行されています。そして、「 { } 」の中はインデントされて、横にずれています。「 { } 」で囲われた範囲は「ブロック」と呼びます。覚えておきましょう。

ポイント

 ・ 「 ; 」、「 { 」、「 } 」を記述した場合、そこで改行します。
 ・ ブロック内(「{ }」の中)、前の行の開始位置からTab文字(キーボードのTabキー)1文字分、字下げします。
 ・ 上記以外で、書き始めの位置直前の行の位置と同じにします。

 プログラミングの世界、特に複数のプログラマがチームになってプログラムを作るような開発では、このようなインデントや改行のルールをきちんと守ることがとても重要なことです。早めに、癖をつけておきましょう。
 次のサンプルのように、インデントや改行を一切しないプログラムでも問題なく動作をしますが、これではとても読みにくいことがわかります。

package jp.co.f1.intro.ch3;

public class PackageSample{ 
	/**  * @param args  */
	public static void main(String[] args) {
   System.out.println("Hello Package!");
  }
}	
何のためにインデントを入れるのか?

 Java プログラムは、クラスの中にメソッドを持つ入れ子のような構造になっています。インデントを入れることで、どこまでがクラスでどこまでがメソッドなのかがパッと見でわかりやすくなります。

 次の図 3.2.2 では、改行とインデントの箇所をまとめています。インデントは、Tab キーを使って入力します。

図 3.2.2 : Tab キーの入力箇所

3.2.2 コメント

 コメントとは、プログラムの中に書き残すことのできる、メモ書きのようなものです。コメントを残すことによって、何の処理をしているか、なぜその処理が必要か、ということを理解するのが簡単になります。コメントは、プログラムの動作には全く影響を与えません。

 サンプルソースコード
 実行すると、コンソールに「これは、コメントが書き込まれたプログラムです。」と表示されるプログラムを作ります

ソース・フォルダー :myproj_intro/src
パッケージ :jp.co.f1.intro.ch3
名前 :CommentTest
作成するメソッド・スタブの選択:public static void main(String[] args) にチェックを入れる

➢ CommentTest.java

package jp.co.f1.intro.ch3;

public class CommentTest {
  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO 自動生成されたメソッド・スブ
    System.out.println("これは、コメントが書き込まれたプログラムです。");
  }
  
}

 実は、このソースコードには既にコメントが書き込まれています。それらのコメントは Eclipse が自動で生成したものです。下の図で、枠で囲んでいる箇所です。

図 3.2.3 : 新規クラスを作成するときに自動で記述されたコメント

 それでは、コメントを書き込んでみましょう。下のサンプルと同じになるように、先ほどのソースコードにコメントを記述してください。

➢ CommentTest.java

package jp.co.f1.intro.ch3;

/*
コメントの練習の為のプログラム
(3 種類のコメントを記述)
*/
public class CommentTest {

    /**
     * @param args
    */
    public static void main(String[] args) {
       // TODO 自動生成されたメソッド・スブ
       System.out.println("これは、コメントが書き込まれたプログラムです。");
    }
} 

 コメントが記述できたら、プログラムを実行してみましょう。コメントはプログラムの動作に影響を与えませんので、プログラムの実行結果が変わることはありません。
 最後に、コメントの 3 種類記述方法について説明します。

1. 「複数行」に渡るコメント
   3: /*
   4: コメントの練習の為のプログラム
   5: (3 種類のコメントを記述)
   6: */

 3~6 行目のように、「/*」と「*/」で囲まれた範囲がコメントとなります。この場合、複数行にまたがってコメントを書くことができます。

2. 「1 行だけ」のコメント
   13: // TODO 自動生成されたメソッド・ス ブ

 13 行目のように先頭に「//」をつけると、「//」から行末までがコメントとして扱われます。
 ある特定の行の意味などを、メモ風に書き残しておく場合によく使います。今後サンプルプログラムを打ち込む際などに、「その行が何を意味しているのか」ということを、この「//」を使った方法で書き残しながら進めていくと良いでしょう。

3. 「Javadoc」を作成するためのコメント
   9: /**
   10: * @param args
   11: */

 9~11 行目のように「/**」で始まり、「*/」で終わるコメントです。「Javadoc」という、プログラムの説明書のようなドキュメントを作成するためのものです。現段階で使うことはありません。

 これ以降のサンプルソースコードでは、Java ファイル作成時に自動生成される以下のコメントは削除してください。先に説明したように、コメントはプログラムに影響を与えないのでそのままにしておいてもかまわないのですが、ソースコードの見た目をすっきりさせるために、本テキストでは、削除することとします。
   // TODO 自動生成されたメソッド・ス ブ

   /**
   * @param args
   */

NEXT>> 3.3 エラー発生時の対処