リファクタリングとは?
リファクタリングとは、プログラムの外部から見た動作(振る舞い)を変えずに、内部の構造やコードの書き方を改善し、可読性・保守性を高める作業。
ITパスポートの過去問では4回出題されています(2021年度〜2023年度)。
りふぁくたりんぐ
リファクタリングの意味
プログラムの外部から見た動作(振る舞い)を変えずに、内部の構造やコードの書き方を改善し、可読性・保守性を高める作業。
リファクタリングの具体例
同じ処理を何度も書いていたコードを、共通の関数(メソッド)にまとめて重複をなくし、動作結果は変えずにコードを整理する。
リファクタリングは試験でどう引っ掛けられる?
「外から見た動作は変えない」が定義の核心。機能追加や性能改善(チューニング)を含めると誤り。既存のプログラムから仕様や設計を導き出すリバースエンジニアリングとも別物なので、選択肢で並ぶと紛らわしい。
リファクタリングと関連する用語
リファクタリングが出た過去問
既存のプログラムを、外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として、最も適切なものはどれか。
正解:リファクタリング
要点:リファクタリングは動作を変えず内部構造を改善する
リファクタリングは、プログラムの外部から見た振る舞いを変えないまま、内部の構造を整理して読みやすさや保守性を高める作業である。重複の除去や命名の見直しなどを継続的に行うことで、将来の変更を容易にする狙いがある。
出典:令和3年度 秋期 ITパスポート試験 問48(IPA)XP(エクストリームプログラミング)の説明として,最も適切なものはどれか。
正解:要求の変化に対応した高品質のソフトウェアを短いサイクルでリリースする,アジャイル開発のアプローチの一つである。
要点:XPは短サイクルで反復するアジャイル開発手法の一つ
XPはアジャイル開発を代表する手法の一つで、要求の変化を前提に短いサイクルで動くソフトウェアをリリースし続けることを目指します。テスト駆動開発やペアプログラミング、リファクタリングなどはXPが実践として取り入れているプラクティスであり、XPそのものの説明ではありません。
出典:令和4年度 秋期 ITパスポート試験 問38(IPA)運用中のソフトウェアの仕様書がないので、ソースコードを解析してプログラムの仕様書を作成した。この手法を何というか。
正解:リバースエンジニアリング
要点:リバースエンジニアリングは成果物から仕様を復元する
リバースエンジニアリングは、完成した製品やソースコードを解析して、その設計内容や仕様を明らかにする手法である。仕様書が失われた既存システムの保守や再構築の前段で、コードから仕様を復元する場面で用いられる。動作の正しさを人手で確認するレビューや、外部仕様を変えずに内部構造を整理するリファクタリングとは目的が異なる。
出典:令和5年度 秋期 ITパスポート試験 問39(IPA)リファクタリングの説明として、適切なものはどれか。
正解:ソフトウェアが提供する機能仕様を変えずに、内部構造を改善すること
要点:リファクタリングは機能を変えず内部構造を改善する
リファクタリングは、外から見た機能や仕様を変えないまま、プログラムの内部構造を整理して読みやすさや保守しやすさを高める作業である。重複した処理をまとめる、意味の分かる名前に変えるといった修正が典型で、振る舞いが変わっていないことをテストで確かめながら進める。不具合修正や機能追加とは目的が異なる。
出典:令和5年度 秋期 ITパスポート試験 問49(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。