JavaDoc(ジャバドック)のような仕組みは、ほぼすべての主要なプログラミング言語に存在するのか?

結論から言うとJavaDoc(ジャバドック)のような仕組みは、ほぼすべての主要なプログラミング言語に存在しています!

それぞれの言語には、専用のドキュメンテーション生成ツールがあり、ソースコード中のコメントから自動的にHTMLなどの形式でAPIドキュメントを作ることができます。

以下に代表的な言語と対応ツールを紹介します。


各言語におけるドキュメント生成ツールの比較表

言語ドキュメント生成ツールコメントの形式備考
JavaJavaDoc/** コメント */一般的に@param@returnなどを使用
PythonSphinx / pdoc / pydoc"""docstring"""関数やクラスの先頭に書く
JavaScriptJSDoc/** コメント */JavaDocに似た形式
C#XML ドキュメントコメント/// コメントVisual Studioと連携可能
GoGoDoc// コメントコメントは関数の直前に書く
Rustrustdoc/// コメントMarkdown形式が使える
PHPphpDocumentor/** コメント */JSDocやJavaDocに似ている
SwiftSwift-Doc / jazzy/// コメントAppleのXcodeと親和性あり

それぞれの特徴を詳しく見てみよう!

Python:docstringとSphinx

Pythonでは関数やクラスの中に """ """ で囲んだ「docstring(ドックストリング)」を書きます。

def greet(name):
    """名前を受け取って挨拶する関数"""
    print(f"こんにちは、{name}さん!")

このコメントをもとに、Sphinxというツールが自動でHTMLマニュアルを作成できます。
また、Markdownのようにレイアウトも調整できます!


JavaScript:JSDoc

JavaScriptではJSDocが一般的です。JavaDocと似た構文で書けます。

/**
 * ユーザーに挨拶する関数
 * @param {string} name - ユーザー名
 */
function greet(name) {
    console.log(`こんにちは、${name}さん!`);
}

Node.jsやTypeScriptと組み合わせると、型情報もドキュメント化できて便利!


Rust:Markdownで書けるコメント

Rustでは /// を使って関数や構造体の前にコメントを書くと、自動的にrustdocで読み取られます。

/// 数値を2倍にして返します。
fn double(n: i32) -> i32 {
    n * 2
}

なんと、Markdown形式で書けるので、コードブロックやリストも使えるんです!


JavaDocと他ツールの違い

JavaDocはJavaに特化したドキュメントツールですが、他のツールも「コメントからドキュメントを自動生成する」という思想は共通です。
しかし、それぞれの言語の文化やエコシステムに合わせた形式で進化しているのが面白いところですね!


まとめと学習のヒント

JavaDocのような仕組みはどの言語にもあり、読みやすいコードとチーム開発に不可欠です。

次のステップとしては:

  • 自分の使っている言語のドキュメントツールを導入してみよう
  • コメントを「他人が読む前提」で書く練習をしよう
  • Markdown形式やタグの使い方を学んで、リッチなドキュメントを作ろう!

どんなにコードがよくても、説明がなければ伝わらない
「コードを書く力」と同時に、「説明する力」も育てていきましょう!

他にも気になる言語があれば教えてください!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。