応用情報技術者 2015年 秋期 午前2 問49
問題文
エクストリームプログラミング (XP) におけるリファクタリングの説明はどれか。
選択肢
ア:外部から見た動作を変えずにプログラムをより良く作り直すこと(正解)
イ:コーチがチームメンバの意識を高めること
ウ:プログラミングとテストを繰り返し行うこと
エ:プログラムを作成するよりも先にテストケースを考えること
エクストリームプログラミング (XP) におけるリファクタリングの説明【午前2 解説】
要点まとめ
- 結論:リファクタリングとは、外部から見た動作を変えずにプログラムの内部構造を改善することです。
- 根拠:XPではコードの品質向上と保守性を高めるため、動作を変えずにコードを整理・改善することが重要視されます。
- 差がつくポイント:動作を変えずにコードを改善する点と、単なるテストや意識向上とは異なることを理解することが合格の鍵です。
正解の理由
選択肢アは「外部から見た動作を変えずにプログラムをより良く作り直すこと」とあり、これはリファクタリングの定義そのものです。リファクタリングはコードの動作を変えずに内部構造を改善し、可読性や保守性を高める手法であり、XPの重要なプラクティスの一つです。
よくある誤解
リファクタリングは単なるバグ修正やテストではなく、動作を変えずにコードを整理する作業です。テストの繰り返しやチームの意識向上とは異なります。
解法ステップ
- 問題文の「リファクタリング」の意味を確認する。
- 選択肢の内容をリファクタリングの定義と照らし合わせる。
- 動作を変えずにコードを改善する説明がある選択肢を探す。
- 他の選択肢がリファクタリングの定義に合致しないことを確認する。
- 最も適切な選択肢を選ぶ。
選択肢別の誤答解説
- イ: コーチがチームメンバの意識を高めることはXPのプラクティスの一部ですが、リファクタリングの説明ではありません。
- ウ: プログラミングとテストを繰り返すことはテスト駆動開発(TDD)に近いですが、リファクタリングとは異なります。
- エ: プログラム作成前にテストケースを考えるのはテスト駆動開発の特徴であり、リファクタリングの説明ではありません。
補足コラム
リファクタリングはXPだけでなく、ソフトウェア開発全般で推奨される手法です。コードの品質を保ちつつ機能追加や修正を容易にするため、定期的なリファクタリングが重要です。XPではペアプログラミングや継続的インテグレーションと組み合わせて実施されます。
FAQ
Q: リファクタリングはバグ修正と同じですか?
A: いいえ。リファクタリングは動作を変えずにコードの内部構造を改善する作業であり、バグ修正とは異なります。
A: いいえ。リファクタリングは動作を変えずにコードの内部構造を改善する作業であり、バグ修正とは異なります。
Q: リファクタリングはテストと関係ありますか?
A: はい。リファクタリング中に動作を変えないことを保証するために、テストが重要な役割を果たします。
A: はい。リファクタリング中に動作を変えないことを保証するために、テストが重要な役割を果たします。
関連キーワード: リファクタリング、エクストリームプログラミング、XP, ソフトウェア品質、テスト駆動開発

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

