コメント (コンピュータ)
出典: フリー百科事典『ウィキペディア(Wikipedia)』
コメントとは、コンピュータ言語(プログラミング言語やデータ記述言語)によって書かれたソースコードの内、人間のために覚えとして挿入された、注釈のことである。この部分は、コンピュータが処理を行うときには、ないものとして無視されるため、自由に文を挿入することができる。
目次 |
[編集] 用途
[編集] プログラムの意図の明示
どのような言語を用いてソースコードを書いたとしても、別の人が読んだり、同じ人であっても時間をおいてから読んだりした場合には、ソースコードからその意図を読みとることは困難である。従って、ソースコードの意図をコメントとしてソースコードに挿入することは、そのコードの保守において非常に重要である。
[編集] コメントアウト
また、一時的にコンピュータに処理させたくない部分を、削除するかわりにコメントとすることもしばしば行われる。これをコメントアウトという。このとき、コメントアウトさせたい部分中にコメントが記述されている場合もあるため、構文的にコメントの入れ子が可能かどうかは大きな意味を持つ。なお、対義語、すなわちコメントを解除し、処理を有効にすることは、アンコメント (uncomment) などと呼ぶ。
[編集] ヴァージョンの相違への対応
特殊な用途としては、ある言語を拡張したときに、古いヴァージョンではその部分を解釈させたくないときに、古いヴァージョンではその部分がコメントとして見えるように書くことがある。HTMLの中にJavaScriptを組み込む場合などがそれである。
[編集] 種類
コメントは、ある記号から行末までをコメントとして扱う行コメントと、2つの記号で前後を括り、その内部をコメントとして扱うブロックコメントに大別される。行コメントは、言語により、行のどこからでもコメントを開始できるものと、行頭にのみコメント開始記号を記述できるものがある。いずれにしても、行コメントは、行の途中でコメントを終了することができない、コメントが数行に渡る場合にも行ごとにコメントの開始を指示しなければならないといったデメリットがあるかわり、コメントの終了を指示しなくても良いというメリットがある。
[編集] 行コメント
代表的な行コメントには、以下のようなものがある。
- C++やJavaでは、
//以降がコメントと見なされる。 - BASICでは、
REM、あるいは'(アポストロフィ)より後がコメントと見なされる。ただし、REMは命令のひとつであるから、これを用いて行の途中からコメントとする場合には、その前に:を置いてマルチステートメント(1行に複数の命令を書くこと)の形にしなければならない。一方、'は:REMの省略形と見なされるため、その前に:を置く必要はない。 - 各種シェルスクリプトやそれらの概念を継承しているPerlやPythonでは、
#以降がコメントと見なされる。また、ファイルの先頭にある#!から開始するコメントは、慣例的にそのスクリプトを実行するプログラムを指定するものとして扱われる。 - Adaや SQLでは、
--以降がコメントと見なされる。 - Common LispやSchemeでは
;以降がコメントと見なされる。 - MS-DOSのバッチファイルでは、
REM、あるいは::、:(コロン2つ、コロン+半角スペース)で始まる行がコメントと見なされる。コロンで始まる行は本来ラベルの宣言を行うものだが、解説書ではしばしばコメントと見なされる例として取り上げられる。
[編集] ブロックコメント
代表的なブロックコメントには以下のようなものがある。
- HTML、Wikiでは、原則として、
<!--と-->で括る。また、HTMLではバージョンによって<comment>と</comment>で括ることもできる。タグ(<と>で括られた部分)の内部でコメントを作るには、--と--で括るがHTML 4.0以前のバージョンでなければならない。 - C、C++、Java、JavaScript、CSSでは、
/*と*/で括る。また、Javaでは/**と*/で括られたコメントをドキュメントとして扱う。これは、Javadocというツールを用いてこのコメントのみを抽出し、ドキュメントを生成する仕組みに使用されている。 - Pascal では、
{と}で括る。なお、{や}が文字コードとして定義されていない(主に初期の)コンピュータの為に、(*と*)で括る代替記法もある。 - Perl(version 5 以降)の正規表現では
(?#と)で括る。
[編集] コメントに類似のもの
また、コンピューター言語以外のものを扱うアプリケーションソフトでも、コメント同様の機能が利用できる場合がある。ワードプロセッサソフトや表計算ソフトにおける「コメント」、「付箋」などの機能がそれである。
[編集] 備考
これらコメントはプログラムソースの保守管理に欠かせないものであり、特にプログラム内にドキュメントを含ませる事で、チームを組んで保守したり、または担当者が変った後でも保守・改良、またはバグ修正に大きな力を発揮する。
ただ、稀にこのコメントに落書きをするプログラマーも見られ、実用に供されるプログラムにあっても、本来のプログラム動作には関係の無いコメントを残す人も見られる。コンピュータウイルスのMyDoomやBagleとNetSkyの系列に於いて、そのソース内のコメントで罵り合った事例が知られている。
オープンソース分野でも、簡潔に要点を述べるコメントはプログラムを参考にしやすいとして歓迎される一方、ただ冗長なだけのコメントに「記憶領域を無駄に浪費するだけで、読み辛い」と苦言を呈する人も見られる。

