PHPを始める前に知りたい、基本的な文法といくつかのタグ

2014年7月17日(木)
野田 貴子

コメント

プログラムは書いたら終わりではありません。レビューをしてもらったり、機能を追加したり、不具合を直したり、何度も読み直す機会があるでしょう。しかし、何千行もに膨れ上がったコードを読み直したり、直したい場所を探すのはとても大変です。そこで、今後プログラムのコードを読む人のためにも、どのような処理がそこに書いてあるのかについて、コメントを書いておくことが重要です。「今後プログラムのコードを読む人」というのは未来の自分も含みますよ!昔の自分が書いたコードでも、後から読むとちんぷんかんぷんになってしまうことは珍しくありません。

コメントの書き方は3通りあります。

(1)#を使う方法

# 記号から行の最後までがコメントになります。少し古い書き方です。

1<?php
2# echo "この文は出力されません";
3echo "この文は出力されます";
4echo "行の途中からもコメントを書けます"; # これはコメントです
5?>

(2) //を使う方法

// 記号から行の最後までがコメントになります。一般的な書き方です。

1<?php
2// echo "この文は出力されません";
3echo "この文は出力されます";
4echo "行の途中からもコメントを書けます"; // これはコメントです
5?>

(3)/* と */を使う方法

開始記号 /* から終了記号 */ までがコメントになります。複数行に渡るコメントを書くときに使えます。

1<?php
2/*
3echo "この文は出力されません";
4echo "この文も出力されません";
5*/
6echo "この文は出力されます";
7echo "行の途中からもコメントを書けます"; /* これはコメントです */
8?>

ところで、コメントには何を書けばいいのでしょうか。例を見てみましょう。

悪い例(1)

1<?php
2// 日付を表示する
3echo date("Y/m/d");
4?>

このコメントには、コードに書いてある以上の情報がありません。このような無駄なコメントならば、書かない方がいいでしょう。

良い例(1)

1<?php
2// 今日の日付を表示する
3echo date("Y/m/d"); // 例:2014/07/01
4?>

このコメントは意味のあるコメントです。なぜなら、第三者でもコードが合っているかどうかを判断しやすいからです。

悪い例(2)

01<?php
02// フラグが1なら
03if ($flag === 1) {
04  // ○○する
05}
06// フラグが1でないなら
07else {
08  // ××する
09}
10?>

このコメントも悪い例です。「そんなのは見れば分かるよ!」というコメントしか書いてありません。

良い例(2)

01<?php
02// 見ている人が管理者なら
03if ($flag === 1) {
04  // ○○する
05}
06// 見ている人が管理者でないなら
07else {
08  // ××する
09}
10?>

このコメントならば、「このフラグには閲覧者が管理者かどうかの情報が入っている」ことと「ここでは管理者かどうかで処理が分岐する」という情報が得られます。

また、処理の大きな区切りの場所にも、区切りが分かりやすいコメントを書くといいでしょう。コードを書いた日付や、書いた人の名前を書いてもいいかもしれません。書き方は個人の好みや、開発チームのルールがあると思います。

01<?php
02/*
03  diary.php
04  日記関連の処理
05   
06  作成日 2014/06/23
07  作成者 noda
08  更新日 2014/06/28
09  更新者 noda
10*/
11 
12//--------------------------------------------------
13// 最新の日記をデータベースから取得する
14//--------------------------------------------------
15 
16(長い処理ほにゃらら)
17 
18//--------------------------------------------------
19// 最新の日記への返信をデータベースから取得する
20//--------------------------------------------------
21 
22(長い処理ほにゃらら)
23 
24?>

余談ですが、プログラム中に書いたコメントを抜き出して、ドキュメントを作れるソフトウェアがいくつかあります。自分でドキュメントを書くのは大変なので、自動化してしまおうというソフトですね。それらのソフトウェアには、それぞれのコメントの書き方のルールがありますよ。

今回は以上です。

それではまた~。よい開発ライフを!

1983年生まれ。大学卒業後、ソフトウェア開発の営業を経て、ソフトウェア開発業務に転向。現在は自社パッケージのフロントエンド開発のほか、PHPでの受託開発案件、日→英のローカライズ案件などを担当。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています