応用情報技術者 2014年 春期 午前2 問49
問題文
エクストリームプログラミング(XP)におけるリファクタリングの説明はどれか。
選択肢
ア:外部から見た動作を変えずにプログラムをより良く作り直すこと(正解)
イ:コーチがチームメンバの意識を高めること
ウ:プログラミングとテストを繰り返し行うこと
エ:プログラムを作成するよりも先にテストケースを考えること
エクストリームプログラミング(XP)におけるリファクタリングの説明【午前2 解説】
要点まとめ
- 結論:リファクタリングとは、外部から見た動作を変えずにプログラムの内部構造を改善することです。
- 根拠:XPでは品質向上のためにコードの可読性や保守性を高めることが重要視され、動作を変えずに改善を繰り返します。
- 差がつくポイント:動作を変えない点と、コードの内部改善に焦点を当てていることを正確に理解することが合格の鍵です。
正解の理由
選択肢アは「外部から見た動作を変えずにプログラムをより良く作り直すこと」とあり、これはリファクタリングの定義そのものです。リファクタリングは動作を変えずにコードの構造を改善し、保守性や拡張性を高める手法であり、XPの重要なプラクティスの一つです。
よくある誤解
リファクタリングは単なるバグ修正や新機能追加ではなく、動作を変えずにコードを整理することです。動作を変える場合はリファクタリングとは呼びません。
解法ステップ
- 問題文の「リファクタリング」の意味を確認する。
- 選択肢の内容を「動作を変えるかどうか」「コードの改善かどうか」で分類する。
- 動作を変えずにコードを改善する説明を選ぶ。
- 他の選択肢がリファクタリングの定義と異なることを確認する。
- 選択肢アが正解であると判断する。
選択肢別の誤答解説
- イ: コーチがチームメンバーの意識を高めることはXPのプラクティスの一部ですが、リファクタリングの説明ではありません。
- ウ: プログラミングとテストを繰り返すことはテスト駆動開発(TDD)に近いですが、リファクタリングの定義とは異なります。
- エ: プログラム作成前にテストケースを考えるのはテスト駆動開発の特徴であり、リファクタリングとは別の概念です。
補足コラム
リファクタリングはXPだけでなく、アジャイル開発全般で推奨される手法です。コードの品質を保ちながら機能追加や修正を行うために不可欠であり、継続的な改善を促進します。代表的なリファクタリング手法には「メソッドの抽出」「変数名の変更」「コードの分割」などがあります。
FAQ
Q: リファクタリングはバグ修正と同じですか?
A: いいえ。リファクタリングは動作を変えずにコードの内部構造を改善することであり、バグ修正は動作の誤りを直すことです。
A: いいえ。リファクタリングは動作を変えずにコードの内部構造を改善することであり、バグ修正は動作の誤りを直すことです。
Q: リファクタリングはいつ行うべきですか?
A: コードの可読性や保守性が低下したと感じた時や、新機能追加前後に行うのが効果的です。
A: コードの可読性や保守性が低下したと感じた時や、新機能追加前後に行うのが効果的です。
関連キーワード: エクストリームプログラミング、リファクタリング、テスト駆動開発、コード品質、アジャイル開発

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

