QUIZ 30分

チェックポイント:GitHub Copilotをマスターしよう

ストーリー

「Copilotの使い方は一通り掴めたかな? 確認テストだ」

中島先輩が問題を出す。

「次のStep 5では、ChatGPT/ClaudeとCopilotを組み合わせて使う。 Copilotの操作が自然にできるようになっておいてくれ」


クイズの説明

  • 全6問
  • 合格ライン: 80%(5問正解)

問題

Q1. GitHub Copilotのコード補完精度を最も効果的に向上させる方法はどれですか?

  • A) Tabキーを連打する
  • B) ファイルを全て閉じてから作業する
  • C) コメントで意図を記述し、型定義やimport文を先に書く
  • D) Copilotの設定で精度を「高」に変更する
<details> <summary>解答と解説</summary>

正解: C

Copilotが参照するコンテキストを充実させることが最も効果的です:

  • コメントで意図を伝える: 自然言語で何をしたいか明記
  • 型定義を先に書く: 期待する入出力が明確になる
  • import文を書く: 使用ライブラリをCopilotに伝える
  • 関連ファイルをタブで開く: Copilotが他のファイルを参照
</details>

Q2. Copilot Chatの /tests コマンドについて正しいのはどれですか?

  • A) 生成されたテストは完璧なので、そのまま使えばよい
  • B) テストの骨格を生成してくれるが、エッジケースは自分で追加する必要がある
  • C) テストフレームワークを自分で指定しないと動作しない
  • D) 単体テストのみ生成可能で、結合テストには対応していない
<details> <summary>解答と解説</summary>

正解: B

/tests コマンドは有用ですが限界があります:

  • 正常系のテストは比較的正確に生成
  • エッジケース(境界値、空入力、異常系)は不足しがち
  • ビジネスロジック固有のテストは人間が設計する必要がある
  • テストフレームワークはプロジェクトの設定から自動判定
</details>

Q3. Copilot ChatとChatGPT/Claudeの使い分けとして適切なのはどれですか?

  • A) Copilot Chatだけ使えば十分で、ChatGPT/Claudeは不要
  • B) コードの即時修正はCopilot Chat、長い設計相談はChatGPT/Claude
  • C) ChatGPT/Claudeだけ使えば十分で、Copilot Chatは不要
  • D) 両方同時に使うと競合するので、どちらか一方しか使えない
<details> <summary>解答と解説</summary>

正解: B

それぞれの強み:

  • Copilot Chat: エディタ内で完結、コードの即時修正、@workspace参照
  • ChatGPT/Claude: 長文の設計相談、大量コードの分析、幅広い知識

両方を併用するのが最も効率的です。

</details>

Q4. Copilotでリファクタリングを行う正しい手順はどれですか?

  • A) いきなりCopilotにリファクタリングさせて完了
  • B) テスト確保 → リファクタリング → テスト再実行
  • C) リファクタリング → テスト作成 → テスト実行
  • D) コード削除 → 一から書き直し
<details> <summary>解答と解説</summary>

正解: B

安全なリファクタリングの手順:

  1. まずテストを確保: 現在の動作を保証するテストがあることを確認
  2. リファクタリング実行: Copilotにコード改善を依頼
  3. テスト再実行: リファクタリングで動作が壊れていないことを確認

テストなしでリファクタリングするのは危険です。

</details>

Q5. Copilotの @workspace 参照の説明として正しいのはどれですか?

  • A) インターネット上のワークスペースを検索する機能
  • B) プロジェクト全体のファイルを参照して、コンテキストを踏まえた回答をする機能
  • C) 同僚のワークスペースのコードを参照する機能
  • D) GitHubリポジトリの全履歴を参照する機能
<details> <summary>解答と解説</summary>

正解: B

@workspace は、現在のVS Codeワークスペース(プロジェクト)内のファイルを参照して回答する機能です:

  • プロジェクト構造の理解
  • 既存の型定義やユーティリティの参照
  • コーディング規約の把握
  • 依存関係の確認
</details>

Q6. Copilotの補完で最も注意すべきことはどれですか?

  • A) 補完速度が遅い場合はインターネット接続を確認する
  • B) 補完候補は必ず内容を確認し、セキュリティやロジックの問題がないか検証する
  • C) 補完が表示されない場合はVS Codeを再起動する
  • D) 補完候補は最初のものが常に最適なので、すぐにTabを押す
<details> <summary>解答と解説</summary>

正解: B

Copilotの補完で注意すべきこと:

  • セキュリティ: ハードコードされた値、脆弱なパターンの提案
  • 古いAPI: 非推奨APIの使用
  • パフォーマンス: 非効率なアルゴリズム
  • ライセンス: 学習データ由来の類似コード

Tab を押す前に、必ず補完内容を読んで理解してから受け入れましょう。

</details>

結果

5問以上正解の場合

合格です。 Step 4を完了しました。次はStep 5「AIとペアプログラミングしよう」に進みましょう。

4問以下の場合

問題復習セクション
Q1, Q6step4_2 コード補完を効果的に使おう
Q3, Q5step4_3 Copilot Chatの活用法
Q2, Q4step4_4 テストコード生成とリファクタリング

まとめ

ポイント内容
補完精度向上コメント、型定義、import文でコンテキストを整える
Copilot Chat/tests, /fix, /explain, @workspace を活用
テスト生成AIの骨格 + 人間のエッジケース
補完の検証受け入れ前に必ず内容を確認

チェックリスト

  • 全6問に挑戦した
  • 合格ラインをクリアした

次のステップへ

Step 5: AIとペアプログラミングしよう(4時間)

ここまでの全てのスキルを統合して、AIと協働する開発スタイルを確立します。


推定読了時間: 30分