問題
マネジメント系
問48 既存のプログラムを,外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として,最も適切なものはどれか。
選択肢
- アテスト駆動開発
- イペアプログラミング
- ウリバースエンジニアリング
- エリファクタリング
解説
正解:エ
概要
この問題は、既存プログラムの外部仕様(振る舞い)を変えずに、内部構造だけを改善する活動の名称を問うています。保守性や可読性を高めるための手法の理解がポイントです。
正解の理由
外部から見た動作は同じまま、コードの重複排除や構造整理などで内部構造を改善するのはリファクタリングです。テスト駆動開発やペアプログラミングは開発手法、リバースエンジニアリングは解析が中心であり、設問の定義に一致するのはエです。
各選択肢の解説
ア(×): テスト駆動開発は、テストを先に作ってから実装を進める開発手法です。外部仕様を変えずに内部構造だけを改善する活動名ではないため誤りです。
イ(×): ペアプログラミングは2人で協力してコードを書く開発スタイルです。内部構造改善そのものを指す用語ではないため誤りです。
ウ(×): リバースエンジニアリングは、既存ソフトウェアを解析して仕様や設計情報を抽出する活動です。内部構造を改善する行為そのものではないため誤りです。
エ(〇): リファクタリングは、外部から見た振る舞いを変えずに、内部構造を整理して品質(保守性・可読性など)を高める活動です。設問の説明に一致するため正しいです。
ポイント
「動作は変えずに中身をきれいにする」はリファクタリングです。解析はリバースエンジニアリング、開発の進め方はTDDやペアプロと区別します。