none
Visual Studio 2012 C# のコメント入力について RRS feed

  • 質問

  • C#ではコメントを入力することで、コンパイル時にXMLが作成されます。

    クラスやメソッドの上部に<summary>ああ</summary>などはできます。

    クラスやメソッドの中のコメントには適用できないのでしょうか?

    下記のソースのaaaaaaメソッドの中にあるコメントをXMLに反映することはできるのでしょうか。

    namespace name1
    {
        class Validation
        {
            public static bool aaaaaa(string target)
            {

    ///trueを返す!!!

                  return true;
            }
        }
    }


    2013年2月14日 9:34

回答

  • ひらぽんさんが既に答えられているようにできません。

    そもそもメソッドの利用者がメソッド内の細かなコメントを読まなければならないとしたら、それはメソッドの設計が間違っていると思います。

    それ以前に、メソッド内に細かなコメントを書くことも間違っていると思います。メソッド内には、why(なぜこのような処理を行うのか)、how(どのような手順で処理を行うのか)と大きなブロック単位でコメントを残すべきです。
    その上で、メソッド外にwhat(メソッド全体で何を行うのか)を書くべきです。そしてこのwhatこそがXMLコメントに書き出され、メソッド利用者が読むべき内容です。

    • 回答としてマーク mitoh 2013年2月15日 0:09
    2013年2月14日 11:08

すべての返信

  • > クラスやメソッドの中のコメントには適用できないのでしょうか?

    残念ながらできません。またXML ドキュメントコメントの性質上、実装にコメントしても意味がないよう思われます。戻り値等は <returns> タグに含めればいいのではないでしょうか。

    ドキュメント コメント用の推奨タグ (C# プログラミング ガイド)


    ひらぽん http://d.hatena.ne.jp/hilapon/


    2013年2月14日 9:45
    モデレータ
  • ひらぽんさんが既に答えられているようにできません。

    そもそもメソッドの利用者がメソッド内の細かなコメントを読まなければならないとしたら、それはメソッドの設計が間違っていると思います。

    それ以前に、メソッド内に細かなコメントを書くことも間違っていると思います。メソッド内には、why(なぜこのような処理を行うのか)、how(どのような手順で処理を行うのか)と大きなブロック単位でコメントを残すべきです。
    その上で、メソッド外にwhat(メソッド全体で何を行うのか)を書くべきです。そしてこのwhatこそがXMLコメントに書き出され、メソッド利用者が読むべき内容です。

    • 回答としてマーク mitoh 2013年2月15日 0:09
    2013年2月14日 11:08
  • 質問者さんに確認したいのですが、例に出されている様なケースでどの様なコメントが出力される事を望んでいるのでしょうか?

    メソッド内でどの様な処理が行われるか等が欲しいのであれば、<remarks>タグで十分な気がします。

    2013年2月14日 12:20
  • 回答ありがとうございました。

    2013年2月15日 0:11