メインコンテンツへ
開発技術開発プロセス・手法

ペアプログラミングの効果として、最も適切なものはどれか。

ア.二人が独立して同じ機能を実装し、後で品質の高い方を採用することでコード品質を向上させる手法
イ.一人がコードを書き(ドライバ)、もう一人がリアルタイムでレビュー・方針提案(ナビゲータ)することで、バグの早期発見・知識共有・コード品質向上を図る手法正解
ウ.熟練者と新人がペアを組み、新人がコードを書いて熟練者が事後レビューするOJTの一形態
エ.二人のプログラマが交互にコーディングを担当し、疲労によるミスを減らすローテーション手法

解説

ペアプログラミングは「ドライバーとナビゲーターの車の旅」。ドライバーが運転(コーディング)に集中し、ナビゲーターが地図を見て(設計・レビュー)「そこ右」と指示する——二つの目と脳がリアルタイムで協力します。

なぜ イ が正解か

ペアプログラミング(Pair Programming)はXP(eXtreme Programming)の実践の一つです。ドライバ(Driver):キーボードを握り実際にコードを書く。ナビゲータ(Navigator):全体設計・品質・方向性をリアルタイムで確認しフィードバック。役割は定期的に交代します。効果:バグの即時発見、設計の質向上、知識・スキルの共有、コードレビューコストの削減。

なぜ ア は間違いか

二人が独立して実装して品質の高い方を採用する手法はソフトウェアエンジニアリングに存在しますが、ペアプログラミングではありません。ペアは同時に一つのコードに協力します。

なぜ ウ は間違いか

熟練者が事後レビューするOJTは通常のメンタリングやコードレビューです。ペアプログラミングはリアルタイムの協力であり、「事後レビュー」ではありません。

なぜ エ は間違いか

疲労軽減のための交互コーディングはペアプログラミングの説明ではありません。ペアの本質はリアルタイムの相互フィードバックと品質向上にあります。

出典: AI生成問題(学習用)