問49
頻出度★★★
リファクタリングの説明として, 適切なものはどれか。
この問題の解説と、これまでの解答の記録です。
リファクタリングの説明として, 適切なものはどれか。
正解 リファクタリングとは、ソフトウェアが外部に提供する機能仕様(入力に対する出力や振る舞い)を一切変えないまま、プログラムの内部構造(コードの構成・命名・重複の排除など)だけを整理・改善し、保守性や可読性を高める作業を指す。アはまさに「機能仕様を変えずに内部構造を改善する」と述べており、リファクタリングの定義そのものなので正しい。
「ソフトウェアの動作などを解析して、その仕様を明らかにすること」はリバースエンジニアリング(reverse engineering)の説明。既存の製品やコードから設計・仕様を逆にたどって解明する手法であり、内部構造を改善するリファクタリングとは目的が異なる。
「不具合を修正し、仕様どおりに動くようにすること」はバグ修正(デバッグ/是正保守)の説明。誤った振る舞いを正す作業であり、振る舞いを変えずに内部構造だけを整えるリファクタリングとは異なる。
「利用者の要望を基に新しい機能を加える修正」は機能追加(完全化保守・機能拡張)の説明。外部から見た機能仕様そのものを増やす変更であり、機能仕様を変えないリファクタリングとは正反対の性質を持つ。