質問: 1; j <= 3; j++) { > alert(i * j); > } > } > > ``` > > このような質問に対して、私は戸惑いがちです。まず、どこから説明すれば良いのでしょうか。この質問者さんは構文が分かっていないのか意味論が分かっていないのかどちらでしょう。意味論が分かっていないとして、どう説明すべきでしょうか。 私がよくやるのは「コンピュータの気持ちになって、プログラムがどのように実行されるか紙の上に手で書いてみてください」という形式の回答です。実際に回答の中で途中まで書いてみて、質問者さんにイメージを作ってもらうものです。たとえば While True: の中に内包されているif文内の indentationの有無によるerrorが起きる理由が分かりません(無限ループの一種かもしれない) という質問でそのような回答をしてみました。ただこの方法には文字で伝える限界を感じる部分もあり、うまく伝わっているか不安になります(まあ、数打ちゃ当たるの方針で投稿してみるのですが......)。たとえば動画の方が伝わるんじゃないかと思うのですが、動画を作る手間が無視できません。 他の方法として、何が分かっていないのかをコメントで聞いてみるという方法もあります。特に質問者さんが何について質問したいのか混乱なさってそうなとき、内容の整理のためにコメントしてみることがあります。ただ、初学者の場合だとなかなか整理が難しかったり専門用語が通じなかったりするので難しいところです。「自分は何が分かっていないのか」自体が回答になるときすらあります。 また、言葉というのは難しいもので、優しく接するため詳しく説明しているつもりのコメントが長大な厳しい指摘に見えたりし、慣れていない初学者を怯えさせてしまうこともあります(言葉遣いは難しい......)。そうこうしている内に何故かマイナス票がたくさん入って質問者さんが離れてしまうことも、よくあります。 以上のように、私はまだこのような初学者の質問に対する銀の弾丸を持ち合わせていません。コメントを含めた対応から回答を投稿するところまで、一般論としてはどのように行動すれば上手く質問者さんの疑問を解消しやすいのでしょうか。「こういうやり方もある」レベルで構いませんので、皆さんの方法論を伺いたいです。
回答: ここスタックオーバーフローは、基本的にはユーザ同士の相互扶助の場であるべきです。有償提供に値するコンサルティングや個人指導を求められても、興味を持った回答者の善意や好奇心を別にすれば、誰しもがそれにこたえる義務はないというのが基本スタンスです。 プログラミング初学者(知識の有無) と 質問の初心者(質問スキル) は異なります。残念ながら、スタックオーバーフローは「よりよい質問の仕方」を直接サポートする場ではないでしょう。数をこなすことで質問スキル向上につながるかもしれませんが、これは質問者自身の認識によるところが大きいと思います。問題さえ解決できればよいという質問者に対して、何かを働きかけるのは至難の業です(ましてや無償の互助会において)。 > > 何が分かっていないのかをコメントで聞いてみるという方法もあります。特に質問者さんが何について質問したいのか混乱なさってそうなとき、内容の整理のためにコメントしてみることがあります。 > > > 究極的には、質問自身の内面で本当に聞きたいこと整理してもらうしかないと思います。 質問コメント欄は、このようなケースに対して思考整理を促すコミュニケーションの道具ととらえています。(別手段としてチャットも存在しますが、あまり建設的に使われているのを見たことが無いような...) > > 言葉というのは難しいもので、優しく接するため詳しく説明しているつもりのコメントが長大な厳しい指摘に見えたりし、慣れていない初学者を怯えさせてしまうこともあります(言葉遣いは難しい......)。 > > > 文書表現上のテクニックとしては敬体・丁寧語を基本とし、萎縮させないよう情報量をある程度絞って、専門用語から多少かみ砕いた説明を行い、断定的すぎない/やわらかい語尾を選ぶなどがあるとは思います。一方で、こういった表現が小馬鹿にしていると解釈されるリスクもありますし、万人に通じる正解はどこにもないと割り切るべきでしょうね。 > > 一般論としてはどのように行動すれば上手く質問者さんの疑問を解消しやすいのでしょうか。 > > > (冷めた意見になってしまいますが)質問者と回答者との相性は誰しもありますから、自分だけで全ケースをケアしようと考えないことも必要だと思います。 supaさん回答にもある通り、この手の質問に丁寧に答えるのは負担が大きく、得てして満足なフィードバックも得られにくいものです。人間であれば気分が良くない日もあり、そのようなときに頑張って回答しようと心をすり減らすより、ほかの誰かに任せる(明日の自分かもしれません:D)ことも大事ではないでしょうか。