0

これを行う方法があるのだろうか、それともそれを行うべきなのだろうか?メタデータの一種であるため、すぐにメソッド属性を使用することを考えましたが、この目的のためにメソッド属性があるかどうかはわかりません。現在、私はXMLコメント<remark>タグを使用して、メソッドがインターフェイスを実装するタイミングを通知しています。しかし、これはもちろん、構造化された形式のメタデータではありません。

自動化されたコードドキュメンテーションシステムは、コードを介してこの情報をすでに解析できるかもしれませんが、実際のコードを読んでいる人にとっては、それをより簡単に追跡するのに役立つ可能性があります。

4

2 に答える 2

2

GhostDocをご覧ください。その無料のビジュアルスタジオプラグイン。メニューと簡単なキーボードショートカットがあり、ドキュメントのコメントを自動的に生成します。また、メソッドの名前からいくつかの機能を推測するのに十分賢いでしょう。たとえば、「public void SavePerson()」などのメソッドがある場合、メソッド内でCtrl + Shift + Dを押すと、「このメソッドは人を保存するために使用されます」などのコメントが事前に入力されて生成されます。

クラスがインターフェースを実装している場合は、それも文書化されます。メソッドがパラメーターを受け取る場合、それらのタイプを相互参照します。

クラス/メソッド/プロパティが実際に行うことに価値を加えるには、まだたくさんのテキストを入力する必要がありますが、GhostDocは、コードド​​キュメントで基本的なスキャフォールディング、相互参照、継承階層、およびインターフェイスの詳細を生成するための優れた方法です。

于 2010-04-01T13:06:47.640 に答える
1

インターフェイスを実装するクラスのリストのようなものを意味する場合<seealso>は、ドキュメントヘッダーのタグを使用できます。

/// <summary>
/// Interface that AutoCAD commands are required to implement.
/// </summary>
/// <seealso cref="My.Namespace.ClassThatImplementsThisInterface"/>
/// <seealso cref="My.Namespace.AnotherClassThatImplementsThisInterface"/>
public interface IMyInterface

インターフェイスメソッドを参照するメソッドでこれを行うこともできます。

public class ClassThatImplementsThisInterface : IMyInterface
{
    /// <summary>
    /// </summary>
    /// <seealso cref="My.Namespace.IMyInterface.InterfaceMethod" />
    public void InterfaceMethod()
    {
    }
}

私はこれまでC#でドキュメントジェネレーターを1つしか使用しておらず、その時点で上記のメソッドを使用していなかったため、これを当然のこととは言えませんが、ジェネレーターはこれらの参照を取得し、ドキュメント内に参照されるメソッドへのリンクを作成する必要があると思います/ class/interface。

于 2010-03-30T08:55:47.673 に答える