本文へスキップ

令和3年度 ITパスポート試験 問48

この問題の解説と、これまでの解答の記録です。

問48
頻出度★★★

既存のプログラムを, 外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として, 最も適切なものはどれか。

出典 令和3年度 ITパスポート試験 問48
解説

問 48

  • 不正解ア

    テスト駆動開発(TDD)は、実装コードより先にテストを書き、「テスト作成→実装→リファクタリング」の短いサイクルを繰り返す開発手法。設計・実装の進め方を指すものであり、既存プログラムの内部構造を振る舞いを保ったまま改善する活動そのものを指す語ではない。

  • 不正解イ

    ペアプログラミングは、2人の開発者が1台の端末で協力し、一方がコードを書き他方が確認しながら進める開発スタイル。品質向上や知識共有を狙う作業形態であって、内部構造を改善する活動そのものを表す語ではない。

  • 不正解ウ

    リバースエンジニアリング(Reverse engineering)は、既存のソフトウェアやハードウェアを解析して、その仕様・設計・構造を明らかにする活動。既存物から情報を「取り出す」ことが目的であり、内部構造を改善する活動ではない。

  • エ

    正解 正解はエ「リファクタリング」。リファクタリングとは、プログラムの外部から見た振る舞い(入力に対する出力や仕様)を変えずに、内部のコード構造だけを整理・改善する活動を指す。命名の見直し、重複コードの共通化、複雑な処理の分割などによって、可読性・保守性・拡張性を高める。設問の「外側から見たソフトウェアの動きを変えずに内部構造を改善する」という記述が、まさにリファクタリングの定義そのものである。

ここがポイント
  • リファクタリング=外部から見た振る舞い(仕様・入出力)を変えずに、内部のコード構造だけを改善し、可読性・保守性を高める活動。
  • 紛らわしい開発用語の区別: テスト駆動開発=テスト先行の開発サイクル、ペアプログラミング=2人1組の作業形態、リバースエンジニアリング=既存物を解析して仕様・構造を明らかにする活動。
用語

解答の記録