1. はじめに
XMLドキュメントコメントは、コードの理解を助ける強力なツールです。クラスや関数の説明をコード内に記述することで、他の開発者(そして未来の自分)がコードを理解しやすくなります。
2. ドキュメントコメントの基本
2.1. 基本的な書き方
[code language="csharp"]
/// <summary>
/// テストです
/// </summary>
void Start()
{
Debug.Log(1);
}
[/code]
重要なポイント:
- クラスや関数の直上に
///を入力 - Visual Studioが自動的にテンプレートを生成
- XMLタグを使用して説明を記述
![[IMAGE_PLACEHOLDER: ドキュメントコメントの基本的な表示例]](http://unity.mamiya.biz/wp-content/uploads/2025/01/image-28.png)
Start()にカーソルを当てると該当のSummaryの内容を表示
3. パラメータの説明追加
3.1. 単一パラメータの場合
[code language="csharp"]
/// <summary>
/// テスト関数です
/// </summary>
/// <param name="value">数値を指定します</param>
public void TestFunction(int value)
{
// 処理内容
}
[/code]
3.2. 複数パラメータの場合
[code language="csharp"]
/// <summary>
/// 複数のパラメータを使用するテスト関数です
/// </summary>
/// <param name="value1">1番目の数値</param>
/// <param name="value2">2番目の数値</param>
/// <param name="text">表示するテキスト</param>
public void MultiParamFunction(int value1, int value2, string text)
{
// 処理内容
}
[/code]
4. ドキュメントコメントの表示
4.1. 表示のタイミング
- 関数名にマウスカーソルを合わせたとき
- パラメータの入力時
- コードの補完候補表示時
![[IMAGE_PLACEHOLDER: ドキュメントコメントの表示例とマウスオーバー時の挙動]](http://unity.mamiya.biz/wp-content/uploads/2025/01/image-29.png)
4.2. パラメータヘルプの表示
- 関数呼び出し時に各パラメータの説明が表示
- カーソル位置に対応するパラメータの説明がハイライト表示
5. よく使用されるXMLタグ
[code language="csharp"]
/// <summary>
/// クラスや関数の概要説明
/// </summary>
/// <param name="paramName">パラメータの説明</param>
/// <returns>戻り値の説明</returns>
/// <remarks>
/// 詳細な説明や補足事項
/// </remarks>
/// <example>
/// 使用例のコードなど
/// </example>
[/code]
5.1. 主なタグの説明
<summary>: 概要説明<param>: パラメータの説明<returns>: 戻り値の説明<remarks>: 補足説明<example>: 使用例
6. ベストプラクティス
6.1. 効果的なドキュメント作成のポイント
- 簡潔で分かりやすい説明を心がける
- パラメータの役割を明確に説明
- 特殊な使用条件がある場合は必ず記載
- 戻り値がある場合は値の意味を説明
6.2. 記述例
[code language="csharp"]
/// <summary>
/// プレイヤーの体力を回復します
/// </summary>
/// <param name="amount">回復量(0以上の整数)</param>
/// <returns>実際に回復した量</returns>
/// <remarks>
/// 最大体力を超えて回復することはできません。
/// </remarks>
public int Heal(int amount)
{
// 処理内容
}
[/code]
7. まとめ
XMLドキュメントコメントを活用することで:
- コードの意図が明確になる
- チーム開発が円滑になる
- 後からコードを見返す際の理解が容易になる
次回は、より高度なドキュメントコメントの使用方法や、自動ドキュメント生成ツールとの連携について解説していく予定です。


コメント