技術質問では、情報が少なすぎても、多すぎても読み手が困ります。そこで、質問を「要約」と「詳細」の二層に分けます。
完成形
【要約】
Todo削除APIが403になります。認証は成功しており、削除権限の確認方法を知りたいです。
【詳細】
- URL: DELETE /api/todos/42
- 期待結果: 204で削除される
- 実際の結果: 403 Forbidden
- 確認済み: Cookieは送信され、GET /api/todos は200
- 試したこと: ログインし直したが変化なし
- 知りたいこと: 認証後の権限判定をどこから確認するか
先頭だけで問題の種類が分かり、必要な人は詳細まで読めます。
Step 1: 要約を一度書く
要約には次の三つを入れます。
- 何をしようとしているか
- どこで止まったか
- 何を知りたいか
最初から完璧な一文にせず、詳細を書いた後でもう一度直します。
Step 2: 事実と推測を分ける
悪い例:
権限設定が壊れています。
改善例:
事実: DELETEは403、GETは200です。
推測: 削除権限の判定で拒否されている可能性があります。
事実と推測が混ざると、誤った前提で調査が進みます。
Step 3: 読み手に求める行動を書く
質問の最後に、何をしてほしいかを書きます。
- 原因候補を一緒に絞ってほしい
- 調査の順番を教えてほしい
- 設計案AとBをレビューしてほしい
- 再現コードの不足を指摘してほしい
「どうすればいいですか」より回答範囲が明確になります。
Step 4: 秘密情報を除く
Cookie、アクセストークン、APIキー、個人情報、.env の値は貼りません。必要な場合は値を伏せ、項目名だけを共有します。
注意: 画面のスクリーンショットにも、通知、メールアドレス、ブラウザタブ、トークンが写ることがあります。送信前に全体を確認してください。
練習課題
次の質問を、要約と詳細に分けて書き直してみましょう。
npm run buildしたら動きません。検索して色々やりましたが直りません。
最低限、コマンド、最初のエラー、該当ファイル、直前の変更、試したことを追加します。