1

C++ プログラムの構造を説明するコメントを生成する (合理的に) 簡単な方法はありますか? たとえば、次のコードを入力として使用したいと思います。

int main(){
cout << "Hello World!";
return 0;
}

これを出力として生成します。

int main(){
//create a function called main that returns an integer and takes no parameters.
cout << "Hello World!";
//print the string "Hello World" to the standard output.
return 0;
//the function main returns 0
}

これが可能であれば、(C++ プログラムの構文は) 初心者にとって少しだけ難しくないかもしれません。

これが C++ で (既存のツールを使用して) 実行できない場合、(同様のツールは) 他のプログラミング言語で利用できますか?

4

7 に答える 7

2

宣言を説明するためのツール (およびhttp://cdecl.org/cdeclのオンライン バージョン) があります。見てください。

于 2012-06-16T17:30:25.183 に答える
1

あなたの例は非常に冗長で、ソースコードを完全に読めなくするだけです。www.doxygen.org/ のように、あまり冗長ではありませんが、より適切な解決策があります。これは非常に人気があると聞いています。

于 2012-06-16T17:10:13.933 に答える
0

プログラムにそのようなコメントを実際に含めることは意図されていないように私には思えます。初心者が「この構文はどういう意味ですか?」と尋ねる方法があるだけです。宣言構文のcdecl.orgのように、特定のものにはいくつかの限定された解決策がありますが、一般的なものはありません。そして、これは些細なことではありません。おそらく、c ++を処理するためにClangライブラリの上に比較的簡単に(比較的のみ)何かを構築することができます。

于 2012-06-16T20:40:59.080 に答える
0

コメントに何を入れても意味がありません。関数が整数を返すか、パラメーターをとらないという事実は、関数プロトタイプによって自明です。ただし、機能の仕組みを説明する自動コメント用のツール全般を意味する場合は、何かがあります。

これが C# の場合と同様に C++ で機能するかどうかはわかりませんが、変数/関数/その他の名前などに基づいて「人間の言葉」のコメントを生成する、GhostDoc という Visual Studio アドオンがあります。http://www.youtube.com/watch?v=4aA4VZoVDQw (ビデオの 2 番目の部分)で動作を確認できます。

問題を正確に解決しない場合でも、何を探すべきかのヒントが得られるかもしれません。

于 2012-06-16T17:05:59.137 に答える
0

私があなたの質問をよく理解していれば、各行に適切なドキュメントを挿入してコードを「説明」するツールが必要です。

あなたが初心者向けに言っているように、私が興味深い限り、そして既存のコードでそれを実行するには、そのようにコードを書くことはまったく役に立ちません(これがあなたが反対票を得ている理由です)。

これらのコメントは既存のコードの複製にすぎないため、まったく役に立ちません。コードを変更し、コメントを変更しないとどうなりますか? 最悪の場合、ツールを再度実行した場合、古いコメントが削除されることを期待していますか、それとも両方を残しますか?

良いコメントは、コードに有用な情報を追加する必要があります (コーダーの意図、または回避するためのトリックなど)。しかし、コードを大声で読むことは単なるノイズです。

ですから、あなたの質問に答えるには、いいえ、それを行うためのツールはないと思います。ただし、一部の IDE は同様の機能を提供する場合があり、コード行にカーソルを合わせているときにツールチップにそのような情報を表示できますが、コード内のコメントとしては表示されません。

于 2012-06-16T17:10:18.100 に答える
0

多分あなたが探しているのは文芸的なプログラミングですか?http://www-cs-faculty.stanford.edu/~uno/cweb.html

于 2012-06-16T17:14:03.730 に答える
0

コメントは、コードが何をするかを説明するべきではありません。コメントは説明する必要があります。

  • 意図は何だったのか、どのタスクを実行する必要があるのか
  • プログラマーが期待すること、特定の分岐が行われる理由
  • なぜプログラマーはそのようにコードを書いたのか
于 2012-06-16T17:30:43.433 に答える