リファクタリングとは?
リファクタリングとは、プログラムの外部から見た動作(機能)を変えずに、内部の構造だけを整理・改善する作業。可読性や保守性を高め、将来の機能追加やバグ修正をしやすくする目的で行われる。アジャイル開発でも継続的に行うべきプラクティスとして重視される。
基本情報技術者試験の過去問では2回出題されています(2017年度〜2019年度)。
りふぁくたりんぐ
リファクタリングの意味
プログラムの外部から見た動作(機能)を変えずに、内部の構造だけを整理・改善する作業。可読性や保守性を高め、将来の機能追加やバグ修正をしやすくする目的で行われる。アジャイル開発でも継続的に行うべきプラクティスとして重視される。
リファクタリングの具体例
同じ処理が複数箇所に重複して書かれているコードを、共通の関数として1か所にまとめる作業はリファクタリングの典型例。動作結果は変えずにコードの構造だけを整理する。
リファクタリングは試験でどう引っ掛けられる?
定義は「外部から見た動作を変えない」こと。機能追加・バグ修正・性能チューニングはいずれも外部の振る舞いや結果が変わるので該当しない。既存システムを解析して仕様を復元するリバースエンジニアリングとも目的が違う。
リファクタリングと関連する用語
リファクタリングが出た過去問
ソフトウェア開発の活動のうち,アジャイル開発においても重視されているリファクタリングはどれか。
正解:ソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する。
要点:リファクタリングは外部仕様を変えず内部構造を改善する
リファクタリングは、プログラムの外から見た振る舞いを変えずに、内部の構造だけを整理して読みやすく直しやすい状態に保つ作業です。アジャイル開発では設計を少しずつ育てるため、動作を保証するテストを支えにこの整理を繰り返します。機能追加や仕様変更とは切り離して行う点が重要です。
出典:平成29年度 春期 基本情報技術者試験 午前 問50(IPA)XP(eXtreme Programming)において、プラクティスとして提唱されているものはどれか。
正解:ペアプログラミング
要点:ペアプログラミングはXPの代表的なプラクティス
XPは、少人数のチームで短い反復を回すアジャイル開発手法で、具体的な実践項目(プラクティス)が定められている。代表的なものにペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーション、小さなリリースなどがある。2人1組で1台の端末に向かい、書き手と確認役を交代しながら進めるのがペアプログラミングである。
出典:令和1年度 秋期 基本情報技術者試験 午前 問50(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。