問題
問49
リファクタリングの説明として、適切なものはどれか。
- ソフトウェアが提供する機能仕様を変えずに、内部構造を改善すること
- ソフトウェアの動作などを解析して、その仕様を明らかにすること
- ソフトウェアの不具合を修正し、仕様どおりに動くようにすること
- 利用者の要望などを基に、ソフトウェアに新しい機能を加える修正をすること
[出典:ITパスポート試験 令和5年度 問49]
スポンサーリンク
正解
正解は「ア」です。
解説
リファクタリングとは、ソフトウェアの機能を変更せずに、プログラムの内部構造を整理し、保守性や可読性を向上させる技術です。これは、将来的な開発を容易にし、バグの発生を減少させる目的で行われます。
例えば、冗長なコードを削減したり、変数や関数の命名を分かりやすく変更することがリファクタリングの一例です。こうすることで、プログラムの品質が向上し、開発者がより効率的に作業できるようになります。
そのため、リファクタリングの説明として適切なのは「ソフトウェアが提供する機能仕様を変えずに、内部構造を改善すること」であり、正解は「ア」です。
イ(ソフトウェアの動作などを解析して、その仕様を明らかにすること):
これは「リバースエンジニアリング」の説明であり、リファクタリングとは異なります。
ウ(ソフトウェアの不具合を修正し、仕様どおりに動くようにすること):
不具合を修正する作業は「バグ修正」または「デバッグ」と呼ばれ、リファクタリングの目的とは異なります。
エ(利用者の要望などを基に、ソフトウェアに新しい機能を加える修正をすること):
新しい機能を追加する作業は「機能追加」または「拡張開発」と呼ばれ、リファクタリングとは異なります。
難易度
普通
リファクタリングは基本的なソフトウェア開発技術の一つであり、プログラミングを学ぶ際によく登場する概念です。しかし、リバースエンジニアリングやバグ修正との違いを正確に理解していないと間違えやすいため、難易度は「普通」としました。
スポンサーリンク
用語補足
リファクタリング:
ソフトウェアの動作を変更せずに、コードの内部構造を整理し、可読性や保守性を向上させる手法です。冗長なコードの削除や適切な変数名の付与などが含まれます。
リバースエンジニアリング:
既存のソフトウェアを解析し、その仕様や動作を明らかにする技術です。ソースコードがない状態で、ソフトウェアの機能を再現する際に用いられます。
対策
- リファクタリングと他の開発技術(バグ修正、リバースエンジニアリング、機能追加)との違いを整理し、それぞれの目的を理解しましょう。
- 実際にプログラムのリファクタリングを行い、どのような手法があるのか体験することで、理解を深めましょう。
- 過去問を活用し、ソフトウェア開発技術に関する問題を反復学習することで、確実に知識を定着させましょう。