コメント・インデント
3.3 コメント・インデント
少し大きな規模のプログラムになると、自分で書いた内容であっても、後で見返したとき、それぞれの箇所で何の処理をしているかがわからないことがあります。また、企業の開発では、複数のプログラマがチームになって1つのプログラムを作ったり、以前に作成されたプログラムを修正することがあります。このとき、他の人が書いたプログラムを読んで内容を理解する必要があります。
こういう場合に重要なのは、あらかじめ見やすいプログラムを書いておくことです。見やすいプログラムを書くためのテクニックとして、コメントとインデントがあります。
3.3.1 コメント
コメントとは、プログラムの中に書き残すことのできる、メモ書きのようなものです。コメントを残すことによって、何の処理をしているか、なぜその処理が必要か、ということを理解するのが簡単になります。コメントは、プログラムの動作には全く影響を与えません。
コメントの書き方には、「//」を使う方法と、「/*…*/」を使う方法の2通りがあります。
1. 「//」でコメントをつけた例
「//」を使う方法では、「//」以降、その行の終わりまでがコメントになります。
図3.3.1 「//」でコメントをつけた例
2. 「/*…*/」を使ってコメントを書く方法
コメントを書くもうひとつの方法は、「/*…*/」を使います。「/*」と「*/」で囲まれた範囲がコメントとなります。この場合、複数行にまたがってコメントを書くことができます。
図3.3.2 「/*…*/」でコメントをつけた例
3.3.2 インデント
インデントとは、「字下げ」という意味です。
インデントをするには、行頭でTabキーを押します。下の図で、「→」の部分がインデントです。
図3.3.3 インデント
ブロックごとに適切にインデントを入れることで、重なりや見づらさがなくなっています。
この空白は「 { } 」がどこから始まりと、どこで終わるか判断することができる目印としてつけています。
インデントがあることで、プログラムのまとまりや階層関係がパッと見てわかりやすくすることができます。
ポイント・ 「 ; 」、「 { 」、「 } 」を記述した場合、そこで改行します。
・ ブロック内(「{ }」の中)、前の行の開始位置からTab文字(キーボードのTabキー)1文字分、字下げします。
・ 上記以外で、書き始めの位置直前の行の位置と同じにします。
プログラムはただ命令を書くだけではなく、「どこからどこまでが1つのまとまり(ブロック)なのか」を示すことがとても大切です。インデントは、その「まとまり」を見た目でわかりやすくするためのルールです。
例えば、本や文章を読むときに、段落ごとに字下げしてあるほうが読みやすいと思います。
プログラムも同じで、インデントがあることで「この部分は一つのまとまりだな」「ここは別の部分のまとまりだな」とすぐに分かるようになります。
次のサンプルのように、インデントを一切しないプログラムでも問題なく動作をしますが、インデントがないとプログラムの構造が一目で見た時にわかりにくくなります。
package jp.co.f1.intro.ch3;
public class PackageSample{
/** * @param args */
public static void main(String[] args) {
System.out.println("Hello Package!");
}
}
このコードはインデントがされていないため、クラスブロックとメインメソッドのブロックの範囲が一目で分かりにくくなっています。
短いコードであれば順に追って確認すれば理解できますが、コードが長くなって数百行になると、インデントがないことでブロックの範囲が見失いやすくなり、どの、「 { 」に対応する「 } 」なのかが分かりにくくなります。
他にも、もしインデントがなかった場合、以下のような問題が起きやすくなります。
1. 後で読み返すのが大変になる
時間が経ってプログラムを見直すときにどこが何の処理なのかすぐに思い出せず、理解に時間がかかります。
2. バグ(間違い)を見つけにくくなる
インデントがないとどこまでが何の処理なのか把握しづらくなり、意図しない動きをしても原因の特定が難しくなります。
3. チームでの作業が難しくなる
他の人があなたの書いたプログラムを読むときに、構造が分かりづらくて修正や追加がしづらくなり開発に時間がかかってしまいます。
インデントはこのような問題を防ぎ、プログラムの内容を「見た目で理解しやすくする」ための大切な工夫なのです。
プログラミングの世界、特に複数のプログラマがチームになってプログラムを作るような開発では、このようなインデントや改行のルールをきちんと守ることがとても重要です。早めに癖をつけておきましょう。
何のためにインデントを入れるのか?Java プログラムは、クラスの中にメソッドを持つ入れ子のような構造になっています。インデントを入れることで、どこまでがクラスでどこまでがメソッドなのかがパッと見でわかりやすくなります。
次の図 3.2.2 では、改行とインデントの箇所をまとめています。インデントは、Tab キーを使って入力します。
図 3.2.2 : Tab キーの入力箇所
Eclipse では、もしインデントを付け忘れたり、間違って消してしまった場合でも「Ctrl + Shift + F」を使うと、自動でインデントを整えてくれます。
とても便利な機能ですが、最初からこのショートカットに頼りすぎるのは注意が必要です。なぜなら、別の開発環境に移ったときに自動整形の機能が無い場合、自分でインデントの崩れに気付けないと、コードの理解や修正に余計な時間がかかってしまうからです。
そのため、まずは自分でインデントを意識して整える習慣をつけましょう。その上で、どうしても直しきれないときや確認のために、このショートカットを活用するのがおすすめです。