リファクタリングとは?
リファクタリングとは、プログラムの外部から見た振る舞いを変えずに、内部構造を整理して保守性・可読性を高める作業。重複の除去、名前の改善、長いメソッドの分割などを行う。回帰テストで振る舞いが変わっていないことを担保しながら進める。
プロジェクトマネージャ試験の過去問では4回出題されています(2016年度〜2022年度)。
りふぁくたりんぐ
リファクタリングの意味
プログラムの外部から見た振る舞いを変えずに、内部構造を整理して保守性・可読性を高める作業。重複の除去、名前の改善、長いメソッドの分割などを行う。回帰テストで振る舞いが変わっていないことを担保しながら進める。
リファクタリングの具体例
同じロジックが3か所に散在していたので共通メソッドへ抽出し、既存のテストがすべて通ることを確認する。
リファクタリングは試験でどう引っ掛けられる?
機能追加や性能改善を目的とする変更はリファクタリングではない。「外部仕様を変えない」ことが定義の核。
リファクタリングと関連する用語
リファクタリングが出た過去問
XP(eXtreme Programming)のプラクティスの一つに取り入れられているものはどれか。
正解:ペアプログラミング
要点:XPの代表的プラクティスはペアプログラミングやテスト駆動開発
XPのプラクティスにはペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーション、シンプルデザインなどがある。ペアプログラミングは2人1組で1台の端末を使い、実装役と確認役を交代しながら進める手法で、欠陥の早期発見と知識共有の効果がある。
出典:平成28年度 春期 プロジェクトマネージャ試験 am2 問19(IPA)ソフトウェアのリファクタリングの説明はどれか。
正解:外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。
要点:リファクタリングは振る舞いを変えず内部構造を改善する作業
リファクタリングは、プログラムの外部から見た振る舞いを変えないまま、内部構造を整理して保守性や可読性を高める作業である。機能追加やバグ修正と同時に行わず、動作が変わっていないことをテストで確認しながら少しずつ進めるのが原則である。
出典:平成29年度 春期 プロジェクトマネージャ試験 am2 問18(IPA)エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムを書く前にテストケースを作成する。
要点:テスト駆動開発は実装より先にテストを書く順序が本質
テスト駆動開発は、実装コードを書く前にまずそのコードが満たすべきテストケースを書き、テストが失敗する状態から始めて、通るように実装し、その後リファクタリングするという流れを繰り返す手法である。テストが仕様の記述を兼ねるため、作るべきものが明確になり、変更時の安全網にもなる。
出典:平成30年度 春期 プロジェクトマネージャ試験 am2 問17(IPA)XP(Extreme Programming)のプラクティスの一つであるものはどれか。
正解:ペアプログラミング
要点:ペアプログラミングはXPの代表的なプラクティス
XPは少人数でのソフトウェア開発を対象とし、コミュニケーション、シンプルさ、フィードバック、勇気、尊重という価値を掲げて具体的なプラクティスを定めている。ペアプログラミングはその代表で、2人が1台の端末で役割を交代しながらコードを書き、その場でレビューしつつ知識を共有する。テスト駆動開発やリファクタリング、継続的インテグレーションなども同様にXPのプラクティスである。
出典:令和4年度 秋期 プロジェクトマネージャ試験 am2 問16(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。