ITパスポート試験 / 令和5年度 ITパスポート試験 公開問題 / 問49
certification-simodake-work

令和5年度 ITパスポート試験 公開問題 問49 解説 リファクタリング

問49 リファクタリングの説明として,適切なものはどれか。

  1. ア ソフトウェアが提供する機能仕様を変えずに,内部構造を改善すること ✓ 正答
  2. イ ソフトウェアの動作などを解析して,その仕様を明らかにすること
  3. ウ ソフトウェアの不具合を修正し,仕様どおりに動くようにすること
  4. エ 利用者の要望などを基に,ソフトウェアに新しい機能を加える修正をすること

解説

リファクタリングを正しく見分けるコツは、目的を「コードの整理」と「外部仕様の維持」の2点に絞ることです。選択肢を選ぶ際は、機能や仕様を追加・変更する選択肢を除外し、中身をきれいにするという表現を探します。

リファクタリング(Refactoring)とは、プログラムの動作結果(機能)はそのままに、ソースコードの書き方を改善する作業のことです。わかりにくい変数名を適切な名前に直したり、重複したコードをまとめたり、処理の塊を小さく分割したりします。

開発現場において、機能追加やバグ修正を繰り返すと、コードは次第に複雑になり、読み解くのが困難になります。これを技術的負債と呼びます。リファクタリングは、この負債を返済し、後からの機能追加や保守をしやすくするために非常に重要な工程です。

他の選択肢が何を指しているかも整理しておきましょう。

イのソフトウェアの解析はリバースエンジニアリングと呼びます。既存の製品から設計情報を抜き出す作業です。 ウの不具合修正はデバッグと呼ばれます。仕様通りに動かないものを動くようにする作業であり、リファクタリングとは目的が異なります。 エの機能追加はエンハンス(機能拡張)です。これは外部から見た振る舞いを変化させる行為であるため、リファクタリングの定義からは外れます。

ITパスポート試験では、似たような横文字の用語が並ぶため、それぞれの言葉が「何を維持して、何を改善するのか」という視点で覚えるのが有効です。例えば、テスト駆動開発(TDD)の流れの中で「設計・実装・テストを行い、最後にリファクタリングを行う」といった文脈で出題されることも多いため、開発工程の一環としてイメージしておくと理解が深まります。

  • コードをきれいにする「リファクタリング」とは?メリットや進め方をわかりやすく解説 - TechAcademyマガジン

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう