リファクタリング
Refactoring
りふぁくたりんぐ
他の資格での定義
ソフトウェアの外部から見た振る舞いを変えずに、内部のコード構造を改善する作業。可読性、保守性、拡張性の向上を目的とし、技術的負債の解消にもつながる。
ソフトウェアの外部的な振る舞い(機能)を変えずに、内部構造を改善する活動。コードの可読性・保守性を向上させ、技術的負債を解消する。保守工程や開発中に継続的に行われる。
外部から見た振る舞い(機能)を変えずに、コードの内部構造を改善すること。コードの可読性、保守性、拡張性の向上を目的とする。Martin Fowlerが体系化し、メソッドの抽出、変数名の改名、クラスの分割などの技法がある。
ソフトウェアの外部的な振る舞いを変えずに、内部構造を改善する作業。コードの可読性、保守性、拡張性を向上させる。アジャイル開発やXPにおいて、技術的負債の蓄積を防ぐための重要なプラクティス。
関連キーワードの用語
発見された障害を修正するために行うソフトウェア保守。バグの修正や不具合の是正処置が該当する。保守タイプの中で最も一般的なもの。
潜在的な障害が顕在化する前に、予防的に修正を行うソフトウェア保守。将来発生し得る問題を事前に対処することで、障害の発生を未然に防ぐ。
環境の変化(OSのバージョンアップ、法制度改正など)に対応するために行うソフトウェア保守。ソフトウェア自体の不具合ではなく、外部環境の変化への適応が目的。
性能改善や保守性向上など、ソフトウェアの品質や機能を改良するために行う保守。機能拡張要求への対応やリファクタリングが該当する。改良保守とも呼ばれる。
既存のソフトウェアを解析して、仕様や構成部品などの情報を得る技術。保守やマイグレーションの際に設計情報を復元するために用いる。知的財産権の侵害に注意が必要で、利用許諾契約で禁止されている場合がある。
発見された障害や不具合を修正するために行う保守。本番環境で問題が発生した際に、原因を特定し修正する活動。最も基本的な保守タイプであり、日常点検で発見された問題への対応も含む。