データベーススペシャリスト試験 2017年 午前225


ソフトウェアのリファクタリングの説明はどれか。
外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。(正解)
ソースコードから設計書を作成する。
ソフトウェア部品を組み合わせてシステムを開発する。
プログラムの修正が他の部分に影響していないかどうかをテストする。

解説

ソフトウェアのリファクタリングの説明はどれか【午前2 解説】

要点まとめ

  • 結論:リファクタリングとは外部から見た振る舞いを変えずに保守性を高めるためのプログラムの書き直しです。
  • 根拠:リファクタリングは機能追加やバグ修正ではなく、コードの内部構造改善に焦点を当てています。
  • 差がつくポイント:動作を変えずにコードの可読性や保守性を向上させる点を理解しているかが重要です。

正解の理由

選択肢アは「外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す」とあり、リファクタリングの定義に完全に合致します。リファクタリングはソフトウェアの動作を変えずにコードの品質を改善する技術であり、保守性や拡張性を高めることが目的です。

よくある誤解

リファクタリングは単なるバグ修正や機能追加ではなく、動作を変えずにコードの内部構造を改善する作業です。動作変更を伴う修正はリファクタリングとは呼びません。

解法ステップ

  1. 問題文の「リファクタリング」の意味を確認する。
  2. 選択肢の内容が「動作を変えずにコードを改善する」かを判断する。
  3. 動作変更を伴うものや設計書作成、テストなどの選択肢を除外する。
  4. 保守性向上を明示している選択肢を正解とする。

選択肢別の誤答解説

  • ア: 外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。 → 正解。リファクタリングの定義に合致。
  • イ: ソースコードから設計書を作成する。 → 逆の工程であり、リバースエンジニアリングに近い。リファクタリングではない。
  • ウ: ソフトウェア部品を組み合わせてシステムを開発する。 → モジュール化やコンポーネントベース開発の説明であり、リファクタリングとは異なる。
  • エ: プログラムの修正が他の部分に影響していないかどうかをテストする。 → テスト工程の説明であり、リファクタリングの定義とは異なる。

補足コラム

リファクタリングはコードの「見た目」を改善するだけでなく、将来的な機能追加やバグ修正を容易にするための重要な技術です。代表的な手法にはメソッドの抽出や変数名の変更、重複コードの削除などがあります。リファクタリングを継続的に行うことでソフトウェアの品質を保ちやすくなります。

FAQ

Q: リファクタリングは動作を変えてもよいですか?
A: いいえ。リファクタリングは動作を変えずにコードの内部構造を改善することが目的です。
Q: リファクタリングとバグ修正の違いは何ですか?
A: バグ修正は動作の誤りを直すことですが、リファクタリングは動作を変えずにコードの品質を向上させる作業です。

関連キーワード: リファクタリング, 保守性, コード品質, ソフトウェア開発, コード改善
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ