コメント
前ページで少し触れましたが、コメントはプログラムの概要から、詳細な説明、誰かに伝えたいこと、自分自身のためのメモ、感謝の気持ちなどを記述しておくために使用します。
<?php
// 一行コメント 行末までがコメントとなります(C++風)
/*
複数行
にわたる
コメント
(C風)
*/
# も一行コメントとして扱われます。PHPではあまり使われていないみたい(shell風)
/**
* これは、よくあるコメントの付け方(Docblock的)
*/
/****************************************
* コメントボックス(目立ちたがり屋さん)
****************************************/
まだ簡単なコードしか書かない始めのうちは、コメントを記述しなくても、そのコードが何を意味するのかはすぐに分かると思います。しかし、記述するコードが長く、複雑になってくると、後から見たときには訳が分からなくなるものです。
10年後に見ても分かるようにコメントをつけましょう。実際のコードよりも多くなるくらい書きましょう。とにかく何でも良いから書いておくことです。最悪の場合、恥ずかしくなければ、好きな食べ物でも良いので書いておくことです。少なくとも何らかのヒントにはなるはずです。
そういう意味では、前ページのhello.phpを正しく記述すると、次のようになるでしょう。
hello2.php
<?php
/**
* "Hello World!"と表示するプログラム
*
* このプログラムを実行すると、
* "Hello World!" と表示されます。
* 特別、騒ぐようなプログラムではありません。
*
* 作成者の名前、作成日時、使用方法なども
* 記述しておくと良いかもしれません。
*
* @version version 1.0
*
*/
// "Hello World!"と表示
echo 'Hello World!';
コメントをバカにしないでください。後からバカを見るのは自分です。
尚、コメント部分を読み込んでドキュメント化するツールのようなものもあります。コメントはそれだけ重要なものであるということです。
デバッグ用途としてのコメント
コードの誤りの部分をバグといい、バグを修正することをデバッグと言いますが、デバック時にもコメントは威力を発揮します。例えば、次のコードには誤りがあります。
debug1.php
1 <?php
2 echo 'Hello PHP!';
3 echo 'Hello Zend!';
4 echo 'Hello Pear!';
5 echo 'OK Python!';
6 echo 'Hi Ruby!'
7 echo 'Yeah C!';
8 echo 'Bye... Java!';
まず、このコードにはコメントがないというのが最大の誤りなのですが、6行目の『echo 'Hi Ruby!'』の最後に『;』がありません。非常に単純なミスです。このプログラムを実行すると、エラーとなります。
エラーレポート機能を有効にしている場合、6行目にミスがあるにも関わらず、7行目がおかしいというエラーレポートを返しますが、これは、7行目のコードが実行される前に『;』がないという意味です。
このような簡単なプログラムであれば、目で追って誤りの箇所を見つけることができますが、もっと複雑なコードの場合、単純なミスであればあるほど、見つけにくいものとなります。
そこで、次のようにコメントを記述して、部分的にコードを実行させないようにします(コメントアウトします)。
1 <?php
2 echo 'Hello PHP!';
3 /*
4 echo 'Hello Zend!';
5 echo 'Hello Pear!';
6 echo 'OK Python!';
7 echo 'Hi Ruby!'
8 echo 'Yeah C!';
9 echo 'Bye... Java!';
10 */
この状態でプログラムを実行すると、正しく動作します。つまり、2行目までは正しく記述されているということです。
さらに、実行部分を増やします。
1 <?php
2 echo 'Hello PHP!';
3 echo 'Hello Zend!';
4 /*
5 echo 'Hello Pear!';
6 echo 'OK Python!';
7 echo 'Hi Ruby!'
8 echo 'Yeah C!';
9 echo 'Bye... Java!';
10 */
この場合でも正しく動作します。つまり、3行目までは正しく記述されているということです。同様の作業を繰り返します。
1 <?php
2 echo 'Hello PHP!';
3 echo 'Hello Zend!';
4 echo 'Hello Pear!';
5 echo 'OK Python!';
6 echo 'Hi Ruby!'
7 /*
8 echo 'Yeah C!';
9 echo 'Bye... Java!';
10 */
この時点でプログラムを実行すると、エラーとなります。つまり、コメントアウトした箇所の直前でエラーが発生しているということです。
このようにコメントを使用してデバッグすることもできます。コメントは重要なのです。