応用情報技術者 2013年 春期 午前2 問49
問題文
ソフトウェアのリファクタリングの説明はどれか。
選択肢
ア:外部から見た振る舞いを変更せずに保守性の高いプログラムに書き直す。(正解)
イ:ソースコードから設計書を作成する。
ウ:ソフトウェア部品を組み合わせてシステムを開発する。
エ:プログラムの修正が他の部分に影響していないかどうかをテストする。
ソフトウェアのリファクタリングの説明【午前2 解説】
要点まとめ
- 結論:リファクタリングとは、外部から見た振る舞いを変えずにプログラムの内部構造を改善することです。
- 根拠:保守性や可読性を高めるためにコードを整理し、バグの発生を防ぎやすくします。
- 差がつくポイント:動作を変えずにコードを改善する点を理解し、テストや設計書作成と混同しないことが重要です。
正解の理由
ア: 外部から見た振る舞いを変更せずに保守性の高いプログラムに書き直す。はリファクタリングの定義そのものであり、プログラムの動作を変えずにコードの品質を向上させる作業を指します。これにより、将来的な修正や機能追加が容易になります。
よくある誤解
リファクタリングは単なるバグ修正や機能追加ではなく、動作を変えずにコードの内部構造を改善する作業です。テストや設計書作成とは目的が異なります。
解法ステップ
- 問題文の「リファクタリング」の意味を確認する。
- 選択肢の内容が「動作を変えずにコードを改善する」かどうかを判断する。
- 他の選択肢がテストや設計書作成、システム開発に関する内容であることを見極める。
- リファクタリングの定義に最も合致する選択肢を選ぶ。
選択肢別の誤答解説
- イ: ソースコードから設計書を作成する行為はリバースエンジニアリングに近く、リファクタリングとは異なります。
- ウ: ソフトウェア部品を組み合わせてシステムを開発するのはモジュール化やコンポーネントベース開発の説明です。
- エ: プログラムの修正が他に影響していないかテストするのは回帰テストの説明であり、リファクタリングではありません。
補足コラム
リファクタリングは継続的インテグレーションやアジャイル開発で重要視され、コードの品質維持に欠かせません。代表的な手法にはメソッドの抽出や変数名の変更、重複コードの削除などがあります。
FAQ
Q: リファクタリングはバグ修正と同じですか?
A: いいえ。リファクタリングは動作を変えずにコードの構造を改善する作業で、バグ修正は動作の誤りを直すことです。
A: いいえ。リファクタリングは動作を変えずにコードの構造を改善する作業で、バグ修正は動作の誤りを直すことです。
Q: リファクタリング後にテストは必要ですか?
A: はい。動作を変えないことを確認するために単体テストや回帰テストが重要です。
A: はい。動作を変えないことを確認するために単体テストや回帰テストが重要です。
関連キーワード: リファクタリング、保守性、コード品質、回帰テスト、ソフトウェア開発

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

