基本情報技術者試験 - 令和8年1月修了 - 問40
ソフトウェアのリファクタリングの説明はどれか。
| ア | 外部から見た振る舞いを変更せずに保守性が高いプログラムに書き直す。 |
|---|---|
| イ | ソースコードから設計書を再作成する。 |
| ウ | ソフトウェア部品を組み合わせてシステムを開発する。 |
| エ | プログラムの修正が他の部分に影響していないかどうかをテストする。 |
答え : ア
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
ソフトウェア保守の技法である「リファクタリング」(refactoring)の意味を問う問題です。リファクタリングとは,プログラムの外部から見た動作(振る舞い)を一切変えずに,プログラムの内部構造だけを整理し,より保守しやすく理解しやすいコードに書き直す作業のことです。バグを修正したり新機能を追加したりするわけではなく,あくまでコードの品質向上が目的である点がポイントです。
誤りの選択肢のうち,「ソースコードから設計書を再作成する」という説明は「リバースエンジニアリング」という別の技法の説明です。「ソフトウェア部品を組み合わせてシステムを開発する」という説明はコンポーネントベース開発の考え方に近く,リファクタリングとは異なります。「修正が他の部分に影響していないかテストする」という説明は「リグレッションテスト」の説明であり,これもリファクタリングとは別の活動です。
分野 : テクノロジ系 › 開発技術 › ソフトウェア開発管理技術 › 開発プロセス・手法
同一問題 : 〔令7修1問40〕
解説 : ソフトウェア保守の技法である「リファクタリング」(refactoring)の意味を問う問題です。リファクタリングとは,プログラムの外部から見た動作(振る舞い)を一切変えずに,プログラムの内部構造だけを整理し,より保守しやすく理解しやすいコードに書き直す作業のことです。バグを修正したり新機能を追加したりするわけではなく,あくまでコードの品質向上が目的である点がポイントです。
誤りの選択肢のうち,「ソースコードから設計書を再作成する」という説明は「リバースエンジニアリング」という別の技法の説明です。「ソフトウェア部品を組み合わせてシステムを開発する」という説明はコンポーネントベース開発の考え方に近く,リファクタリングとは異なります。「修正が他の部分に影響していないかテストする」という説明は「リグレッションテスト」の説明であり,これもリファクタリングとは別の活動です。