質問: 質問の回答を受けて、それに関連した別の追加質問をしたくなることがあります。 追加質問は下記のどのような形式で記述するのが望ましいですか? 1. 回答または質問の**コメント**で別の質問をする 2. 別の質問を質問文に**追記**する 3. 別の質問に質問文を**書き換え**る 4. 別の質問を**新しく作成**する なおここで言う追加質問とは、質問の補足(コメントなどで不明点を指摘された時の追記事項など)ではありません。 元の質問内容を深掘りした専門的な疑問や、元の内容から脱線した質問を想定しています。 ←FAQ目次に戻る
回答: 結論 == 追加質問をしたい時は、ぜひ別の質問を**新しく作成**しましょう! ひとつの質問ページにあれもこれも盛り込むのではなく、ひとつの質問ページに書くのは簡潔なひとつの質問にしておきましょう。 質問は *Keep it short and simple.* にした方が、万人に分かりやすく回答もしやすくなります! 元の質問に新しい質問を追記したり書き換えて元の質問を削除すると、既にもらった回答やコメントと整合性が取れず分かりにくいやり取りになってしまいます。 ちなみにどれくらい分かりにくくなるのかを明示するため、この回答後半でロールプレイとしてまとめました。 新しい質問を作るにあたって ============= さてここで質問に慣れていない方向けに、良い気分で新しい質問を作るコツをこっそりと紹介します。 大丈夫、そんな難しいことでも格式ばったことでもありません。 ヘルプセンターの良い質問をするには?をちょっと補足する程度のアドバイスです。 新しい質問 is 何? まず質問の補足と追加質問の違いは何でしょうか? それはケースバイケースです。 元の質問が回答では解決しておらず、もっと詳細な質問文を追記する場合は元の質問に追記しましょう。 回答で解決した質問についてさらに別の疑問が出た場合は、この質問は回答済みにして別の疑問は新しい質問にしてしまいましょう。 ・参考: 質問は細かく細分化するべき?それとも、得た回答から話を飛躍させても良い? 元の回答が未解決で新しい質問がしたい場合は自己の裁量になりますが、話が脱線すると感じたならばコメントなどで一言ことわって新しい質問を作るやり方もあります。 新しい質問が実は元の質問の延長線上にあり、元の質問が解決したと同時に新しい質問も解決したならばそれは新しい質問の回答に反映させればOKです。 ・参考: 質問が質問者の以前質問した内容が原因と思われる場合の対処 新しい質問を書いた結果、その内容が元の質問とほとんど変わらないと感じたならば、今回の新しい質問は投稿しないで元の質問の改修にとどめておきましょう。 「同じ質問の注目を集めるために繰り返し質問してる」なんて勘繰られてもつまらないでしょう? ・参考: 同一人物が内容が重複する質問を投稿していることに気づいたときに採るべき対応は? 新しい質問 is 新しい質問 元の質問を昇華して新しい質問する探究心は素晴らしいものです! 熱が冷める前に一刻も早く解決したい気持ちは分かりますが、元の質問が解決しているならば次に進む前に承認して解決済みの意思表明をしておきましょう。 スタックオーバーフローはあなただけのものではなく、**類似懸案で困っている第三者を助けるもの**でもあります。 何をもって質問が解決したかの指標として『解決済』マークは第三者にも有益なものです。 そして回答者も解決済マークをもらうことで嬉しくなり、今後の質問にも気持ちよく答えてくれる効果が出るかもしれませんよ? 参考: 回答を承認するとどうなりますか? 新しい質問はその質問ページだけで自己完結した内容(つまり多少冗長であってもその質問だけを読めば誰でも分かる内容)にしましょう。 このサイトには1日あたり1万人以上の人が訪れます。 同じ懸案で困っている第三者がWeb検索して質問ページを読み始めた場合、そのページだけを読めば懸案が解決する方が他の人の役にも立ちやすいです。 参考: 再現可能な短いサンプルコードの書き方 ほら、この回答であちこちに貼られたリンク先を廻り回って全部読むのは大変でしょう? でもリンク先を全部引用するとさらに超長文になってしまいます。興味がある参考リンクだけ読んでくださいね。 もう遅い?こりゃまた失礼いたしました。 質問のロールプレイ ========= 下のやり取りは質問文にある追加質問方法を例示する、**あまり良くない**ロールプレイです。 ロールプレイの後に改善点と所見を書いていきます。 分からないことを質問をしたところ、完璧な回答が返ってきました。 その回答を試したところうまく行きました!(という設定です) ``` [タイトル] StringBuilderに改行を入れるには? [本文] C#のStringBuilderに改行を入れる方法が分かりません!どうしたらいいですか? StringBuilder sb = new StringBuilder(); sb.Append("hoge"); //ここに改行を入れたい [Fooさんの回答] AppendをAppendLineに変えると改行できます。 ``` この質問は解決したのですが、今度は別の質問が思い浮かびました。 次はこれも解決したいです。(という設定です) 回答または質問のコメントで別の質問をする 完璧な回答をしてくれるFooさんにまた回答してほしいので、**回答のコメントで別の質問をする**のが良いでしょうか? ``` [Fooさんの回答] AppendをAppendLineに変えると改行できます。 [回答のコメント] ありがとうございます、解決しました!あとフォーマットしながら改行したいです!StringBuilder sb = new StringBuilder();sb.AppendFormat("{0}兆HOGE欲しい!", "5000"); //AppendFormatをAppendLineに変えるとエラー ``` ### ここがポイント! コメントは重要でない補記事項などを書き加えるための機能です。 改行などを入れることができないので、追加質問の**コードの可読性が著しく下がります**。 コメントで回答返ししたくても、回答する方も大変です。 さらに回答者のコメントに質問すると他の回答者が回答しにくいですし、回答者が追加回答できる知識を持っているとは限りません。 別の質問を質問文に追記する もしくはこの質問に関係するので**質問文に追記**すれば他の人にも見てもらえるでしょうか? ``` [タイトル] StringBuilderに改行を入れるには? [本文] C#のStringBuilderに改行を入れる方法が分かりません!どうしたらいいですか? StringBuilder sb = new StringBuilder(); sb.Append("hoge"); //ここに改行を入れたいさっきの質問は解決しました。あとフォーマットしながら改行したいです! sb.AppendFormat("{0}兆HOGE欲しい!", "5000"); //AppendFormatをAppendLineに変えるとエラー [(解決済)回答] AppendをAppendLineに変えると改行できます。 ``` ### ここがポイント! 回答が編集前の質問に対するものか編集後に対するものかフォーカスが分かりにくくなってしまいます。 しかもロールプレイ例では回答が承認されているので、トップページの一覧で解決済みマークが表示されます。 これによって回答者がトップページを見て解決済みの質問をスルーする可能性もあります。 質問文を別の質問に書き換える 最初の質問は解決済みなので、分かりやすくするために**質問文を別の質問に書き換える**方が読みやすくなりますか? ``` [タイトル(編集後)] StringBuilderのAppendFormatで改行を入れるには? [本文(編集後)] C#のStringBuilderのAppendFormatで改行を入れる方法が分かりません!どうしたらいいですか? StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}兆HOGE欲しい!", "5000"); //AppendFormatをAppendLineに変えるとエラー [回答] AppendをAppendLineに変えると改行できます。 ``` ### ここがポイント! 再掲しますがスタックオーバーフローはあなただけのものではなく、**類似懸案で困っている第三者を助けるもの**でもあります。 質問文を書き換えると回答者の回答は質問文とかみ合わない謎の文脈になってしまいます。 これでは後日にWeb検索でたどり着いた第三者が読んでも混乱するだけです。 新しく別の質問を作成する この質問は終わりにして**新しく別の質問を作成する**べきでしょうか? ``` [タイトル(新規)] AppendFormatで改行を入れたい [本文(新規)] AppendFormatで改行したいです。 ``` ### ここがポイント! 上記をふまえて、この方法がたった一つの冴えたやり方です! しかしちょっと待ってください。 新しい質問は、前の質問を読まないと意味や意図を理解できないほど省略されていないでしょうか。 単一の質問で内容が明瞭でない質問には、前の質問を知らない回答者がコメントで補足を求めたりします。 質問者が求めているものとずれた回答になる可能性も高まります。 例え前の質問と同一のコードをコピペすることになっても、質問は独立して明確なものであるべきです。 もちろん前の質問へのURLを貼って質問意図の理解を促すことは良いことです! おわりに ==== 質問の数が増えて嫌がられることを恐れずに、どんどん**新しい質問**をしていきましょう。 それと**解決した回答には承認を**忘れずに。**役に立った回答にプラス投票する**となお良しです。 こういった質問と回答のサイクルをうまく回すと、あなただけでなくみんなが *Be happy* になります! ここまで読み進めることで、あれもこれも詰め込んだシンプルでない内容が**いかに読みにくいか**を体感していただけたことと存じます。 最後までお付き合いいただきありがとうございました!