プログラムのコメントにQ&Aサイトへのリンクを入れても大丈夫ですか?


16

かなりのコードベースでは、次のようなコメントを見ることができます。

 // Workaround for defect 'xxx', (See bug 1434594 on Sun's bugparade)

いくつか質問がありますが、それらはすべて関連しています。

プログラムのコメントにSO質問へのリンクを入れても大丈夫ですか?

 // We're now mapping from the "sorted-on column" to original indices.
 //
 // There's apparently no easy way to do this in Java, so we're
 // re-inventing a wheel.
 //
 // (see why here, in SO question: http://stackoverflow.com/questions/951848)

しますか?

そして、そうすることの欠点は何ですか?(恐ろしい欠点については私の最初のコメントを参照してください)


9
自分自身へのコメント:それを行う際の非常に懸念される欠点の1つは、SOがWikiであるという事実により、信頼できる答えがまだ正しい(またはそこにある)という保証がまったくないことです。ヘック、場合によっては、質問自体が閉じられたり、元の意味から変更されたりすることがあります。大きな違い「を参照してくださいバグ1434594」 Sunのバグパレードには、あなたがしていることである保証はその日のバグのリンクからテキストはならない「はならない」 RFC2119で定義されたように)変化します。これは巨大です。SOがWikiであるという事実により、SOリンクをコメントに入れて緊張しています。
トリスタン通り

7
あなたの最善の策は、SOの答えの明確かつ簡潔な要約を入れて、することですその後、その下に参照リンクを置きます。私は何度かそれをやってきました。そうすれば、SOが失敗したり、回答が削除/編集されたりしても、必要なコア情報はまだ要約にあります。さて、答えの複雑さに応じて、要約を書くことはまったく別の面倒な作業になる可能性があります。SO回答が他の何かにリンクしている場合、それらにリンクする価値があるかもしれません(特にSO回答よりも短命である場合)。
FrustratedWithFormsDesigner

5
@Robert S .:いいえ、メタではありません。SOについてではありません。SOをそのまま受け入れています。これは、具体的にはコメントからSOのようなリソースを処理する方法についてです。
トリスタンセント

1
チーム用に記述するコードについて話しているのですか?彼らに聞いてください。

1
Webページ全体を完全なWebページとしていつでも保存し、それを圧縮してドキュメンタリーフォルダーに入れることができます。

回答:


7

Stack Overflow専用ではないかもしれませんが、技術的なブログ、フォーラム、Usenet、Googleグループ、または「なぜこれをやったのか」が文脈から完全に明らかでない他の場所のために。

古い質問をアーカイブしてパージしない限り(このようにSOを使用するのが悪いことになる理由はわかりません)(それはそうではないと思いますが、私は確信していません)-しかし、たとえそうだとしても、それはありません他のどのサイトよりも悪い。

あなたが本当にそれを心配しているなら、あなたはいつでもスクリーンショットを撮るか、これらのページをテキストとしてダウンロードし(または画像、スタイルシートなどを取得する問題を経験し)、あなたの会社のナレッジリポジトリに保存することができますそれに一意の識別子を付け、コメントにその一意の識別子を入れて、後で参照できるようにします。そうすれば、この種のことに対して一貫した場所が得られます。しかし、コードの複雑さと重要度によっては、それはやり過ぎかもしれません。


5

一般的に、このリンクを作成する最良の方法は、バージョン管理システムやバグ追跡システムを使用することです。ただし、これが機能するための要件は、コードをバグトラッカーまたはバージョン管理システム内のコメントを配置する場所に正確にリンクできることです。


おもしろいので、SOの回答の場合、HTMLをフェッチしてDVCSに保存できることを実際に提案しています(Mercurialですが、それはポイントではありません)。
トリスタンセント

まあ、通常、すべてを必要とするのではなく、関連するビットだけを必要としますか?そして、ソースを参照できます。

5

理想的には、コードは適切に構造化されているなどの理由で、そのようなコメントは必要ありません。しかし、はい、状況が理想的でない場合は、このようなコメントを入れることは許容されます。また、stackoverflow.comへのリンクは、他のリンクよりも優れています(多くの場合、優れています!)。

一時的なコメントであり、コードを改善してこれらのコメントを削除できることを願っています。

StackOverflow.comリンクをコードにまだ追加していません。悪臭のため、コードにリンクを配置しないようにしますが、時間が来たらためらうことはありません。

編集:上記の答えは、このようなコメントの必要性は避けることができるという印象を与えると思います。もちろん、回避できない場合もあります。これは、ライブラリのバグまたは貧弱なAPIデザインであり、制御できません。リンクを含むこのようなコメントは、次の開発者にとって非常に役立ちます。


2
ちょっと、その1を見て、私が望む「クリーン」な方法は、それをそこに対処するだろうが、非常に多くの場合、それはケースではないのですstackoverflow.com/questions/951848 私は、バグや矛盾を意味/奇妙なAPI、文書化されていない行動などプログラマーの生活の一部です:)
Tristan St.

2

私は研究論文を書くようなものだと思います。他の人のアイデアを使用する場合、それらのアイデアを称賛する必要があります。以前にコードでstackoverflowからの回答を使用し、methodのコメントへのリンクを追加しました。

誰かが言ったように、SOはWikiスタイルなので、変更される可能性はありますが、一般的には同じ考え方が必要です。

他の人のアイデアを使用するときは、他の人にも信用を与える必要があります。


1

回避策を実装する必要があり、実装が特定の方法で行われた理由が明らかでない場合は、コメントを付けてその理由を特定する必要があります。オンライン参照へのリンクを配置することは問題ないと思いますが、コメントを簡潔にする必要がありますが、読者が推論を再確認する必要があると感じた場合にのみリンクが拡張説明を提供するように十分に完成する必要があります。

一方、コードが逐語的にコピーされている場合、元のソースへのリンクは公正であり、元の著者の作品をコピーすることを許可されているライセンスの文言に応じて必要になる場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.