リファクタリングとは?りふぁくたりんぐ
リファクタリングとは、プログラムの外部から見た動作(機能)を変えずに、内部の構造だけを整理・改善する作業。可読性や保守性を高め、将来の機能追加やバグ修正をしやすくする目的で行われる。アジャイル開発でも継続的に行うべきプラクティスとして重視される。
最終更新:2026-10-10
この語が出る過去問を解く →背景
機能を足し続けると、部品どうしのつながりがからまり、一か所の修正がどこに波及するかが読めなくなる。直し漏れや新たな不具合が起きやすく、機能追加そのものも進めにくい。動作を変えずに構造だけを整える作業を別に切り出すことで、変更の影響範囲を追える状態に戻し、以後の変更を安全にできる。
具体例
同じ処理が複数箇所に重複して書かれているコードを、共通の関数として1か所にまとめる作業はリファクタリングの典型例。動作結果は変えずにコードの構造だけを整理する。
試験での引っ掛け
定義は「外部から見た動作を変えない」こと。機能追加・バグ修正・性能チューニングはいずれも外部の振る舞いや結果が変わるので該当しない。既存システムを解析して仕様を復元するリバースエンジニアリングとも目的が違う。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成29年度 春期 基本情報技術者試験 午前 問50(IPA)
ソフトウェア開発の活動のうち,アジャイル開発においても重視されているリファクタリングはどれか。
正解:ソフトウェアの保守性を高めるために,外部仕様を変更することなく,プログラムの内部構造を変更する。
要点:リファクタリングは外部仕様を変えず内部構造を改善する
リファクタリングは、プログラムの外から見た振る舞いを変えずに、内部の構造だけを整理して読みやすく直しやすい状態に保つ作業です。アジャイル開発では設計を少しずつ育てるため、動作を保証するテストを支えにこの整理を繰り返します。機能追加や仕様変更とは切り離して行う点が重要です。
出典・参考
公式シラバスの4 開発技術 > 6. 保守・廃棄 > (1) 保守のタスクに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。