問48
頻出度★★★
既存のプログラムを, 外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として, 最も適切なものはどれか。
この問題の解説と、これまでの解答の記録です。
既存のプログラムを, 外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として, 最も適切なものはどれか。
テスト駆動開発(TDD)は、実装コードより先にテストを書き、「テスト作成→実装→リファクタリング」の短いサイクルを繰り返す開発手法。設計・実装の進め方を指すものであり、既存プログラムの内部構造を振る舞いを保ったまま改善する活動そのものを指す語ではない。
ペアプログラミングは、2人の開発者が1台の端末で協力し、一方がコードを書き他方が確認しながら進める開発スタイル。品質向上や知識共有を狙う作業形態であって、内部構造を改善する活動そのものを表す語ではない。
リバースエンジニアリング(Reverse engineering)は、既存のソフトウェアやハードウェアを解析して、その仕様・設計・構造を明らかにする活動。既存物から情報を「取り出す」ことが目的であり、内部構造を改善する活動ではない。
正解 正解はエ「リファクタリング」。リファクタリングとは、プログラムの外部から見た振る舞い(入力に対する出力や仕様)を変えずに、内部のコード構造だけを整理・改善する活動を指す。命名の見直し、重複コードの共通化、複雑な処理の分割などによって、可読性・保守性・拡張性を高める。設問の「外側から見たソフトウェアの動きを変えずに内部構造を改善する」という記述が、まさにリファクタリングの定義そのものである。