2011-01-03 12 views
8

C++でクラス、メソッドなどをドキュメント化するために使用するテンプレートは何ですか?C++ドキュメントテンプレート

Java eclipseではjavadocを使用して自動的にすべてを行いますが、C++の標準はありますか?例えば

//================================== 
// returns half of the given num 
//================================== 
foo(int num) { 
    return num/2; 
} 

答えて

7

Doxygenの(C++コードからドキュメントを生成するための一般的なツールは)a whole bunch of different formatsをサポートします。実際には、標準のC++ドキュメンテーションツールはありませんが、これは非常に多く使用されています。

0

コード(Java、CまたはC++)を文書化する標準はありません。ソースコードからドキュメントを作成するツールがあり、進行中の標準があるかもしれません。

ここ

私は古くから適応しているスタイルである:1時

//! This class represents a fraction: xx nn/dd. 
/*! Where xx is the whole number, nn is the numerator, dd is the denominator. 
* \author Thomas Matthews 
*/ 
class Fraction 
    : public boost::equality_comparable<Fraction>, 
     public boost::less_than_comparable<Fraction>, 
     public boost::addable<Fraction>, 
     public boost::subtractable<Fraction>, 
     public boost::multipliable<Fraction>, 
     public boost::dividable<Fraction> 
{ 
    //--------------------------------------------------------------------- 
    // Friends 
    //--------------------------------------------------------------------- 

    //--------------------------------------------------------------------- 
    // Public fraction 
    //--------------------------------------------------------------------- 
    public: 

    //--------------------------------------------------------------------- 
    // Public Constructors and Destructors 
    //--------------------------------------------------------------------- 
    public: 
    //! Constructor -- string 
           Fraction(const std::string& fraction_text); 

    //! Constructor -- whole, numerator, denominator as integers 
           Fraction(const int& denomenator = 1, 
             const int& numerator = 0, 
             const int& whole = 0); 

    //! Constructor -- floating point 
           Fraction(const double& floating_point); 

    //! Copy constructor 
           Fraction(const Fraction& rc); 

    //! Destructor 
    virtual      ~Fraction(); 

    //--------------------------------------------------------------------- 
    // Public Overloaded Operators 
    //--------------------------------------------------------------------- 
    public: 
    Fraction&     operator= (const Fraction& f); 
    bool      operator==(const Fraction& f) const; 
    bool      operator==(const double& d) const; 
    bool      operator< (const double& d) const; 
    bool      operator< (const Fraction& f) const; 
    Fraction&     operator+=(const Fraction& f); 
    Fraction&     operator-=(const Fraction& f); 
    Fraction&     operator*=(const Fraction& f); 
    Fraction&     operator/=(const Fraction& f); 
    Fraction&     operator*=(const unsigned int scalar_value); 
    Fraction&     operator/=(const unsigned int scalar_value); 
           operator double(void) const; 

    //--------------------------------------------------------------------- 
    // Public Methods 
    //--------------------------------------------------------------------- 
    public: 
    //! Returns the fraction as a string. 
    std::string     get_value_as_string(void) const; 

    //! Sets the value from a string. 
    void      set_value(const std::string& fraction_string); 

    //! Sets the value from a floating point value. 
    void      set_value(const double& value); 

    //! Simplifies the fraction by reducing the denominator & numerator. 
    void      simplify(void); 

    //--------------------------------------------------------------------- 
    // Public Members 
    //--------------------------------------------------------------------- 
    public: 


    //--------------------------------------------------------------------- 
    // Protected Methods 
    //--------------------------------------------------------------------- 
    protected: 

    //--------------------------------------------------------------------- 
    // Protected Members 
    //--------------------------------------------------------------------- 
    protected: 

    //--------------------------------------------------------------------- 
    // Private Methods 
    //--------------------------------------------------------------------- 
    private: 

    //--------------------------------------------------------------------- 
    // Private Members 
    //--------------------------------------------------------------------- 
    private: 
    unsigned int    m_whole; 
    int       m_numerator; 
    unsigned int    m_denomenator; 
}; 



//------------------------------------------------------------------------- 
// Fraction Exceptions 
//------------------------------------------------------------------------- 


//------------------------------------------------------------------------- 
// Fraction Fraction 
//------------------------------------------------------------------------- 
//typedef boost::shared_ptr<Fraction>   Ptr_Fraction; 
//typedef boost::shared_ptr<const Fraction> Ptr_Const_Fraction; 


//------------------------------------------------------------------------- 
// Inlined Fraction Constructors and Destructors 
//------------------------------------------------------------------------- 


//------------------------------------------------------------------------- 
// Inlined Fraction Overloaded Operators 
//------------------------------------------------------------------------- 


//------------------------------------------------------------------------- 
// Inlined Fraction Methods in alphabetical order 
//------------------------------------------------------------------------- 

、私が作成した新しいファイルにこれを入れてEclipseを持っていました。
これをステンシルファイルに保存し、新しいコードを書き込む前にファイルをコピーします。ステンシルにはメソッド宣言や継承ラインはありません。セットアップCDTは新しいファイル、クラスのためのお好みのテンプレートを使用してコードの構造上のdoxygenのコメントを生成することができますEclipseでは

1

、などこれは私が私のプロジェクトに適したカスタムタグを使用するものである

+0

このいいね!共有できる設定ファイルがありますか、ここにテンプレートを投稿できますか? –

+0

変更可能な既定のテンプレートがCDTに既に用意されています。あなたdoxygenをするために、ドキュメントスタイルをアクティブにする必要があります。それはCDTのオプションです。 – David

関連する問題