プログラミングの質問方法、ダメな例と、良い例
いつもご利用ありがとうございます。このブログは、広告費によって運営されています。
初学者からプログラミングの質問を受けるとき、必ずと言っていいほど質問の仕方についてアドバイスをしています。
プログラミングの質問方法や仕方に関して、実際の例を踏まえつつ、回答する側の率直な感想など書いていきたいと思います。
質問時に欲しい情報
自分がデバッグするときに使うであろう情報は全て送るべきと考えて良いと思います。
みなさんが、デバッグするとき何を見て解決しようと思いますか?
ということを考えればだいたい送る内容が狭まります。
質問の例
①今なにをやろうとしているか?
②今の表示画面
③今どこにどんなコードを書いたか?
④関係していそうなところの情報
⑤その他参考にしているサイトのURL(記事を参考に実装しているとき、サイトのURLとどの部分をやっているか)
あくまで質問の例となります。
質問によっては、もっと少なくても良いし、多いパターンがあっても良いと思います。
質問で送るコードは少なすぎると情報が足りないこともあり、多すぎると情報が多すぎてどこが今の処理に関与しているのか見つけるのが大変、質問される側の感覚です。
大事なのは、「この情報はどうなっていますか?」と聞かれたらその情報を次からは自分から送ろうと思うこと
質問の仕方は最初からピンポイントですることは無理だと思います。
ただ、どんどん質問の仕方もうまくなるように頑張ると良いと思います。
たとえ、メンターとメンティーでお金が発生している状態でも、質問する側は自分のために質問力を鍛えるように心がけるべきだと思います。
僕はよく質問の仕方に関してもフィードバックするようにしています。
「画面が表示されません!」
よくある質問の1つに、「画面が表示されなくなった」という内容です。
僕も表示されない理由はわかりません
何をしたら表示されなくなったのか?をしっかり伝えましょう
① 最初は表示されていたのか?それとも、新しく作成したページでまだ表示したことがないのか?
②Routing から Controller や views の関連するであろう処理を一通りコード。
③ 画像のスクリーンショット(「表示されない」はいろんな解釈ができるのでスクリーンショットで貼る
エラーが発生しました。エラー文はこうです。何が原因だかわかりますか?
僕もわかりません。
エラー文は要約して自分の言葉にせずに、コピペして渡しましょう。
何をしていたときに発生しているエラーなのかしっかり伝えましょう
① ログを読む、ログの内容を回答者に伝える
② 何をしているときに発生しているエラーなのか?処理の一連の流れを伝えましょう
まとめ
書きたい内容がまとまらなかったので、この辺で終わらせます。
大事なことは、情報が少ないと、現役のエンジニアさんは色々なケースの中から「推測をして原因を回答してくれる」ことになります。
推測って大変なんですよね。
できるだけ情報は多めに渡しましょう。
そして、慣れてきたら必要最低限の情報を渡すようにしましょう。
苦情・意見は Twitter の DM にお願いします。