コメント
ソースコードには、これを読み書きするためのプログラマ用に、コンピュータ(コンパイラ)に解釈されない文字を書き込むことができます。これをコメントと言います。論理構成が整然としており、メソッドや変数など適切に命名されておればコメントなんぞ不要であるという考えもあれば、
コードに表出されない情報や複雑な処理の概要などを一瞥で理解しやすいよう適切なコメントは多いほど良いという考えもあります。
ここでは、コメントとして何を書くべきかではなく、C#言語のソースコードでのコメントの記述方法について説明します。
普通のコメント
// 一行コメント/* ~複数行コメント~ */
// 一行コメント
/*
* 複数行コメント
*/
![](https://dotnetcsharptips.com/wp-content/uploads/2020/12/menu_comment-1.jpg)
TODOコメント
// TODO ・・・コメントの最初にTODOを付与しておくと、タスク一覧という画面で確認することができます。
一覧はメニューの「表示」「タスク一覧」を選択すると表示されます。
![](https://dotnetcsharptips.com/wp-content/uploads/2020/12/f4921821c7f7ce8fc48aa12cb3f4736d.jpg)
![](https://dotnetcsharptips.com/wp-content/uploads/2020/12/7ef32817d8c49d293fb82302b82ef6ab.jpg)
オプションで追加削除などのカスタマイズが可能です。
![](https://dotnetcsharptips.com/wp-content/uploads/2020/12/8f9d03dac407e90f0294fee8514c4a1e.jpg)
XMLドキュメントコメント
クラスやメソッドなどの説明を以下の形式でソースコードに記述したものをXMLドキュメントコメントといいます。/// <タグ>~~タグ>
/// <summary>サンプルクラス</summary>
/// <remarks>XMLコメント説明用</remarks>
public class SampleClass
{
/// <summary>
/// コンストラクタ
/// </summary>
/// <remarks>
/// インスタンスを初期化します。
/// </remarks>
public SampleClass()
{
}
}
XMLドキュメントとして推奨されるタグ
重要なのは概要を表すsummaryタグです。他にもいくつかありますので、下記ページを参照下さい。
![](https://dotnetcsharptips.com/wp-content/uploads/cocoon-resources/blog-card-cache/b4d7308f1e519c40e4d8edc92be06185.png)
クラスとそのメンバー用として推奨される XML ドキュメント タグ - C#
この記事では、XML ドキュメント用の推奨タグの構文と定義について説明します。
XMLドキュメントの出力設定
![](https://dotnetcsharptips.com/wp-content/uploads/2020/12/4c0fe620e11717bf5fdf57f56930ef14.jpg)
このファイルには付与してきたXAMLコメントがXML形式でまとめられています。
実行モジュールと共にこのファイルを配布するとライブラリを使用する側でインテリセンスが効くようになります。
(summaryタグの内容がツールチップ表示されるようになります。)
API仕様書の作成
また、この出力されたXMLファイルに対してツールを使用することによりAPI仕様書(DOCファイル)を生成することが可能です。たとえば以下のようなツールがあります。
Quick Start | docfx
GitHub - EWSoftware/SHFB: Sandcastle Help File Builder (SHFB). A standalone GUI, Visual Studio integration package, and MSBuild tasks providing full configuration and extensibility for building help files with the Sandcastle tools.
Sandcastle Help File Builder (SHFB). A standalone GUI, Visual Studio integration package, and MSBuild tasks providing fu...
Doxygen: Doxygen
Source code documentation and analysis tool