正答4
解説
正解は4です。
この問題は、外部から見たソフトウェアの動作を変えずに内部構造を改善する活動の名称を問うています。
機能を変えずにプログラムを読みやすく、保守しやすくすることが目的です。
アジャイル開発の手法であるXP(エクストリームプログラミング)の実践の一つとしても知られています。
【選択肢別解説】
1:× テスト駆動開発は、プログラムを書く前にテストを作成し、そのテストに合格するようにプログラムを作る手法です。
内部構造の改善そのものを指す用語ではありません。
2:× ペアプログラミングは、2人のプログラマが1台のコンピュータを使い、交代しながら共同でプログラムを作る手法です。
3:× リバースエンジニアリングは、既存のソフトウェアを解析して、仕様や設計などの情報を取り出すことです。
内部構造を改善する活動ではありません。
4:○ リファクタリングは、外部から見た動作を変えずに、プログラムの内部構造を整理して改善する活動です。
記述と一致します。
【ポイント】
リファクタリングの後は、動作が変わっていないことをテストで確認します。
テスト駆動開発、ペアプログラミング、リファクタリングは、いずれもXPのプラクティスとして出題されます。