リファクタリングとは何か、簡単に言うと「外見はそのままで中身を変更」

プログラムを作成した後で「もっとこうしておけばよかった」とか「ここを直したい」と言うのは沢山出てきます。動くことを優先、修正に修正を加えた結果中身が分かりにくくになった、このようなプログラムは多々あります。そのようなプログラムの動きを変えずに内部構造を改善する「リファクタリング」について簡単に解説していきます。

リファクタリングの基本

プログラムは「指定されたように動く」ことが大前提です。しかし、動くだけがプログラムではないです。

リファクタリングとは

問題なく動いているプログラムでも、内部では無駄な動きをしているケースや、将来的に機能追加・変更が求められるケースが多々あります。そのようなプログラムの「動きは変えずに中身だけを変える」のがリファクタリングです。

リファクタリングのメリット

無駄な動きを減らしたり、プログラムの中身を分かりやすくすることで、処理効率の向上や保守性の向上が望めます。例えば、不要な処理を消す・共通関数化をするなどで容量の圧縮、動作の快適化が望めます。

リファクタリングのデメリット

問題なく動いているプログラムの中身を変更するのは少し怖いものがあります。例えば、無駄な処理が入っていたので自然と遅延が入り問題なく動いていたが、綺麗にしたため動作が軽くなり逆に動きとしておかしくなるケースなどもあります。もちろん、それは元のプログラムがたまたま動いていただけでいつかは修正する必要があるのですが・・・。

リファクタリングはITパスポート試験でも出題される基本知識

リファクタリングはITパスポート試験でも出題される基本的なIT知識です。

ITパスポート試験での過去の出題例

令和3年.春の問48で出題された例をみてみます。

出題.

既存のプログラムを,外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として,最も適切なものはどれか。

回答選択肢

  1. テスト駆動開発
  2. ペアプログラミング
  3. リバースエンジニアリング
  4. リファクタリング

簡単な解説

テスト駆動開発とは、テストケースを作成してそのテストをパスする実装を行い、開発を進めることです。

ペアプログラミングとは「プログラムの実装を行う人」と「プログラムをチェックする人」の2人1組で役割を交代しながら作業を行うものです。

リバースエンジニアリングとは、既にあるプログラムを解析して仕様書などを作成することです。通常のエンジニアリングは「仕様書・設計図などからプログラムを作成」します。「リバース」なのでその逆になります。

ということで正解は「4」です。

タイトルとURLをコピーしました