質問の仕方がわからない
💬 質問
プログラミングで困った時、どうやって質問すればいいですか?「動きません」としか書けません。
✅ 回答
「動きません」だけだと、回答する側は超能力者でない限り助けられません。4つの情報を書くだけで、回答の質が劇的に変わります。
良い質問の4点セット
- やりたいこと — 何を実現しようとしているか
- 書いたコード — 実際のコード(省略しない)
- 起きたこと — エラーメッセージ or 画面の状態
- 期待していたこと — 本来どうなるはずだったか
具体例:良い質問の書き方
【やりたいこと】
ボタンをクリックしたら、p要素のテキストを「クリックされました」に変えたい。
【書いたコード】
<button id="btn">押す</button>
<p id="msg">まだ押されていません</p>
<script>
const btn = document.getElementById("btn");
const msg = document.getElementById("message"); // ← ここが怪しい
btn.addEventListener("click", () => {
msg.textContent = "クリックされました";
});
</script>
【起きたこと】
ボタンを押しても何も変わらない。
Consoleに「Cannot read properties of null」と出る。
【期待していたこと】
ボタンを押すとテキストが変わるはず。 この質問なら、回答者は一瞬で原因がわかります(idが "msg" なのに "message" で取得しようとしている)。
❌ ダメな質問の例と改善
| ダメな質問 | なぜダメか |
|---|---|
| 「動きません」 | 何が動かないのか不明 |
| 「エラーが出ます」 | どんなエラーか書いていない |
| 「全部のコード見てください」 | 100行以上貼られても読めない |
質問する前にやること(セルフチェック)
- エラーメッセージをそのままGoogle検索してみる(8割はこれで解決する)
- スペルミスがないか確認する
- 最後に動いた状態との差分を確認する
これで解決しなかったときに質問すると、「ここまで自分で調べました」と書けるので、回答者も真剣に答えてくれます。
どこで質問する?
- 学校の先生・友達 — 対面で画面を見せられるので最速
- teratail / Stack Overflow — 日本語/英語のQ&Aサイト
- Discord / Slackコミュニティ — リアルタイムで聞ける
質問テンプレート
【やりたいこと】
ボタンをクリックしたら背景色を変えたい
【試したこと】
document.getElementById('btn').addEventListener('click', () => {
document.body.style.backgroundColor = 'red';
});
【起きている問題】
クリックしても何も変わらない。コンソールにエラーなし。
【環境】
Chrome 120 / macOS / VS Code
HTMLファイルをLive Serverで開いている この4項目を書くだけで、回答者が状況を正確に把握できます。「動きません」だけでは誰も助けられません。
質問する前にやること
1. エラーメッセージをそのままGoogle検索する
2. コードのスペルミスを確認する(id名、関数名)
3. ブラウザのキャッシュをクリアして再読み込み
4. 最小限のコードで問題を再現する
質問できる場所
teratail:日本語のプログラミングQ&Aサイト。初心者の質問も歓迎。
Stack Overflow:世界最大のQ&Aサイト(英語)。エラーメッセージで検索すると大抵見つかる。
ChatGPT:エラーメッセージを貼り付けて「このエラーの原因と解決法を教えて」と聞く。
解決しなかった?
エンジニアに質問する →