リファクタリングとは?リファクタリング
リファクタリングとは、外から見た振る舞いを変えずに、内部の構造を分かりやすく保守しやすい形へ改善すること。機能追加や性能改善とは別の作業として切り分け、振る舞いが変わらないことをテストで担保しながら小さく進めるのが要件になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
動いているコードや表定義は、目先の要望に応えるたびに少しずつ歪み、やがて一箇所の変更が思わぬ場所を壊す状態になる。かといって機能追加と構造の整理を同時にやると、壊れたときの原因が切り分けられない。そこで「振る舞いを変えない変更」だけを独立した作業として名前を付け、テストを安全網にして続けられるようにした。
具体例
3つの画面が同じ5表結合のSQLを別々に抱えていたので、ビューへ切り出して置き換える。返す列と行は一切変えず、既存の結合テストが全件通ることを確認してからリリースすれば、以後の項目追加は1か所の修正で済み、直し漏れによる画面間の不整合が無くなる。
試験での引っ掛け
機能追加や性能改善そのものは目的ではない——同時にやった時点でリファクタリングではなくなる。また振る舞いを変えないことをテストで担保するのが前提であり、テストが無い状態で構造を書き換える作業はリファクタリングと呼べない。非正規化のように結果が同じでも性能を狙う変更は、別の設計判断として扱う。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)解説で登場
XP(eXtreme Programming)のプラクティスの一つに取り入れられているものはどれか。
正解:ペアプログラミング
要点:ペアプログラミングはXPの代表的プラクティス
XPのプラクティスには、ペアプログラミング、テスト駆動開発、リファクタリング、継続的インテグレーション、小さなリリースなどがある。ペアプログラミングは2人が1台の端末で役割を交代しながらコードを書き、その場でレビューしながら品質を高める手法である。
出典:平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)
ソフトウェアのリファクタリングの説明はどれか。
正解:外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。
要点:リファクタリングは振る舞いを変えず内部構造を改善する
リファクタリングは、プログラムの外部から見た動作を変えないまま内部構造を整理し、可読性や保守性を高める作業である。機能追加やバグ修正と混ぜずに行い、テストで振る舞いが変わっていないことを確かめながら進めるのが基本になる。
出典:平成30年度 春期 データベーススペシャリスト試験 午前Ⅱ 問25(IPA)解説で登場
エクストリームプログラミング(XP: eXtreme Programming)における“テスト駆動開発”の特徴はどれか。
正解:プログラムを書く前にテストケースを作成する。
要点:テスト駆動開発は実装より先にテストを書く進め方
テスト駆動開発では、実装よりも先に満たすべき仕様を表すテストコードを書き、それが失敗することを確かめてから、通るように実装を進める。仕様が明確になり、リファクタリングも安全に行えるようになる点が狙いである。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの4 開発技術 > 6. 保守・廃棄 > (1) 保守のタスクに掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。