LESSON 30分

テキストでの質問の書き方

ストーリー

「田中さん、Slackで質問するときってどう書けばいいですか?対面と同じ感じ?」

「基本は同じだけど、テキストならではのコツがあるよ。画面を見せられない分、文章で伝える工夫が必要なんだ」

「文章だけで伝えるの、難しそう...」

「スクリーンショットやコードブロックを使えば、対面よりわかりやすくなることもあるよ」


テキスト質問の基本ルール

対面との違い

比較対面テキスト
情報量画面を見せながら説明できる文章で伝える必要がある
タイミング相手の反応を見ながら相手が読むタイミングは不明
やりとりリアルタイムで往復返答に時間がかかることがある
記録記録に残りにくい自動的に記録が残る

テキスト質問の3原則

  1. 1つのメッセージで完結させる -- 何度もやりとりしなくて済むように
  2. 視覚的にわかりやすく -- 箇条書き、コードブロック、スクリーンショット
  3. 相手のアクションを明確に -- 何をしてほしいかを書く

Slackでの質問フォーマット

基本テンプレート

@田中さん お忙しいところすみません。
[タスク名]について質問です。

【やりたいこと】
ログインフォームの送信処理を実装したい

【現状】
送信ボタンクリック時に以下のエラーが発生します
```TypeError: handleSubmit is not a function```

【試したこと】
- 公式ドキュメントで関数の定義方法を確認 → 問題なさそう
- console.logで関数の存在を確認 → undefinedと表示された

【コード】
```javascript
const LoginForm = () => {
  const handleSubmit = (e) => {
    e.preventDefault();
    // ログイン処理
  };
  return <form onSubmit={handleSubmit}>...</form>;
};

アドバイスいただけますか? お手すきの際にお願いいたします。


---

## コードブロックの使い方

### Slackでのコードブロック

**インラインコード(短いコード):**

変数名関数名() のように書く


表示: `変数名` や `関数名()`

**複数行のコードブロック:**

javascript
const greeting = "Hello";
console.log(greeting);

### コードを共有するときのポイント

```
○ エラーが発生している部分のコードを貼る
○ 関連する部分だけを抜粋する(長すぎない)
○ 言語名を指定する(シンタックスハイライト)

× ファイル全体を貼る(長すぎて読めない)
× スクリーンショットでコードを貼る(コピーできない)
```

---

## スクリーンショットの活用

### スクリーンショットが有効な場面

| 場面 | なぜ有効か |
|------|-----------|
| 画面のレイアウトが崩れている | 文章では伝えにくい |
| エラー画面が表示されている | 見た目でわかる |
| 期待する表示と実際の表示の比較 | ビフォーアフターで伝わる |

### スクリーンショットの撮り方

| OS | ショートカット | 説明 |
|-----|-------------|------|
| Windows | `Win + Shift + S` | 範囲選択してキャプチャ |
| Mac | `Cmd + Shift + 4` | 範囲選択してキャプチャ |
| Mac | `Cmd + Shift + 5` | スクリーンキャプチャメニュー |

### 良いスクリーンショットのポイント

```
○ 必要な部分だけを切り取る
○ エラーメッセージが読める大きさ
○ 矢印や赤枠で問題箇所を示す(可能なら)

× デスクトップ全体を撮る(情報過多)
× 小さすぎて読めない
× 個人情報が写り込んでいる
```

---

## テキスト質問のNGパターン

### NG 1: 「ちょっといいですか?」だけ送る

```
× 「田中さん、ちょっといいですか?」
  (相手: 「何の用だろう?とりあえず返事しなきゃ...」)
  → 待ち時間が発生

○ 「田中さん、ログイン機能の実装について質問です。
    [質問内容をすべて書く]
    お手すきの際にお願いいたします。」
  → 相手が都合の良いときに回答できる
```

### NG 2: 情報を小出しにする

```
× メッセージ1: 「エラーが出ました」
  メッセージ2: 「ログイン画面です」
  メッセージ3: 「TypeErrorです」
  メッセージ4: 「handleSubmitが...」
  → 相手は全部読まないと状況がわからない

○ 1つのメッセージにまとめて書く
  → 相手は1回読むだけで全体を把握できる
```

### NG 3: 曖昧な表現

```
× 「なんか変です」「うまくいきません」「微妙です」

○ 「送信ボタンをクリックしても画面が遷移しない」
○ 「期待値は200だが、実際には404が返ってくる」
```

---

## 返信をもらったら

### すぐにできること

```
1. お礼のリアクション(Slackの場合)
   → 絵文字で「読みました」を伝える

2. 試した結果を報告
   → 「教えていただいた方法で解決しました!
       ありがとうございます」

3. 追加質問がある場合
   → スレッドで続ける(チャンネルを汚さない)
```

### スレッドの使い方

```
チャンネル(メインの投稿):
  → 質問を投稿

スレッド(返信の中):
  → やりとり、追加質問、結果報告

→ チャンネルが質問で埋まらず、整理される
```

---

## まとめ

| ポイント | 内容 |
|----------|------|
| 3原則 | 1メッセージで完結、視覚的にわかりやすく、アクション明確 |
| コードの共有 | コードブロックを使う、関連部分のみ |
| スクリーンショット | 必要な部分だけ切り取る |
| NG | 「いいですか?」だけ、情報小出し、曖昧表現 |

- [x] テキストでの質問フォーマットを理解した
- [x] コードブロックとスクリーンショットの使い方がわかった
- [ ] 実際に質問文を書く練習をする

---

## 次のステップへ

テキストでの質問の書き方がわかりましたね。

次のセクションでは、5つのシナリオで実際に質問文を作成する演習です。
学んだフォーマットを使って実践しましょう。

---

*推定読了時間: 30分*