#10 C++で学ぶコメント規約の基本
C++のコメントには、他の言語と共通する書き方に加え、Doxygenという広く使われる説明書き生成ツールとの連携があります。この記事では、C++におけるコメントの書き方と、良いコメントの残し方を解説します。
コメントの書き方
// これは年齢を表す変数
int age = 20;
複数行のコメントは/* */を使います。
/*
* ここから先は入力チェックの処理
* 空文字や不正な形式を除外する
*/
Doxygenという仕組み
C++のプロジェクトでは、Doxygenという外部ツールと連携した、特別な形式のコメントがよく使われます。
/**
* @brief 利用者に挨拶を表示する
* @param name 利用者の名前
* @return なし
*/
void greet(std::string name) {
std::cout << "こんにちは、" << name << "さん" << std::endl;
}
@briefや@paramといったタグを使うことで、Doxygenがこれらの情報を読み取り、Webページ形式の説明書きを自動生成してくれます。@briefで概要、@paramで引数の説明、@returnで戻り値の説明を書くのが基本の構成です。
TODOコメントで作業を残す
後で対応する必要がある箇所には、// TODO: 説明という形式でコメントを残す習慣が広く使われています。多くのエディタはTODOコメントを一覧表示してくれるため、実装途中の箇所を見失いにくくなります。
何を書くべきか
コードを読めば分かる内容をそのまま書くのではなく、なぜその実装を選んだのか、どんな制約があるのかを書くことが大切です。特にC++はメモリを直接扱う場面が多いため、「このポインタの所有権は誰にあるか」「いつ解放されるか」といった情報をコメントで補うと、後から読む人の助けになります。
条件付きコンパイルによる無効化
コードを一時的に無効化したい場合、コメントで囲む代わりに#if 0と#endifで囲む方法もあります。
#if 0
古い実装(参考用に残している)
#endif
この方法なら、内部に/* */を含むコードでもコメントの入れ子によるエラーを気にせず無効化できます。
C++ならではの注意点
Doxygenの記法は、Javaのjavadocと似ていますが、C++の標準機能ではなく外部ツールの慣習である点に注意しましょう。プロジェクトによって採用しているツールやタグの書き方が異なることがあるため、参加するプロジェクトの慣習を確認するとよいでしょう。
まとめ
C++のコメントは//が基本で、大規模なプロジェクトではDoxygen形式のコメントがよく使われます。TODOコメントの活用や、プロジェクトごとの慣習を確認する習慣をつけましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
C++をもっと学びたい方には「新・明解C++入門編」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿