システム開発技術|令和5年度 ITパスポート試験 問49
リファクタリングの説明として,適切なものはどれか。
- ✓ これが正解ソフトウェアが提供する機能仕様を変えずに,内部構造を改善すること
- ソフトウェアの動作などを解析して,その仕様を明らかにすること
- ソフトウェアの不具合を修正し,仕様どおりに動くようにすること
- 利用者の要望などを基に,ソフトウェアに新しい機能を加える修正をすること
解説
外から見た機能を変えないまま内部構造を整えることです。
リファクタリングは、ソフトウェアが外に対して提供している機能や振る舞いはそのままに、内部の構造だけを整理して読みやすく、直しやすくすることです。同じことを何か所にも書いている部分をまとめる、長くなりすぎた処理を意味のある単位に分けるといった手入れが当たります。動きが変わらないので、利用者から見れば何も起きていないように見えますが、次に手を入れるときの負担が軽くなり、直し違いも減ります。よって説明として適切なのは、機能仕様を変えずに内部構造を改善すること、というものです。動きを変えないと決めてあるからこそ、直した後に前と同じ結果が出るかを試して確かめられます。
ほかの選択肢はなぜ違うのか
- ソフトウェアの動作などを解析して仕様を明らかにすることは、リバースエンジニアリングの説明です。出来上がったものから設計の情報をたどる作業であり、内部構造に手を入れて整えることとは別のものです。
- 不具合を修正して仕様どおりに動くようにすることは、いわゆる修正の作業です。直す前は仕様どおりに動いていないので、外から見た振る舞いが変わります。振る舞いを変えないという条件から外れます。
- 利用者の要望などを基に新しい機能を加える修正は、機能そのものを増やす作業です。提供する機能が変わるため、機能仕様を変えないというこの手入れの前提に当てはまりません。
この問題に関係する言葉
- リファクタリング
- リバースエンジニアリング
出典:令和5年度 ITパスポート試験 問49
同じ単元をまとめて解くならシステム開発技術へ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)