「リファクタリング」「ITガバナンス」の解説

「リファクタリング」とは?

「リファクタリング(Refactoring)」とは、外部から見た時の挙動は変えずに、プログラムの内部構造を整理することです。リファクタリングにより、システムを長く使い続けることや、トラブル時の対応を早めることが可能になります。

リファクタリングは、あくまで外部から見た時の挙動は変えないため、機能追加はリファクタリングには当たりません。また、リファクタリングは、動作そのものには問題のないプログラムが対象になります。したがって、バグの修正も、リファクタリングではありません。

リファクタリングでは、「構造の階層化」「プログラム内の要素につける名前を、簡潔なものに書き換える」などを行います。

リファクタリングのメリットは、主に以下の3点あります。

  • 設計の劣化を防ぐことができ、システムを長く使える
  • コードを理解しやすくなり、引き継ぎ時の手間が減る
  • 修正、追加をより早く、正確に行えるため、トラブル時の対応が速くなる

反対に、リファクタリングのデメリットとしては、工数がかかっているように見えることが挙げられます。リファクタリングの対象は、問題なく動いているコードであるため、それを修正するのは、一見無駄な作業として見られることがあります。

リファクタリングに関する問題

既存のプログラムを,外側から見たソフトウェアの動きを変えずに内部構造を改善する活動として,最も適切なものはどれか。
 ア.  テスト駆動開発
    イ.  ペアプログラミング
    ウ.  リバースエンジニアリング
    エ.  リファクタリング

出典:令和3年度 春期 ITパスポート試験公開問題 問48

◆確認問題の解答(エ)、解説・・・各選択肢の解説は、次の通り。

  • ア(テスト駆動開発):「テスト駆動開発」とは、求める機能を明確化するために、プログラムを記述するよりも前にテストケースを作成する開発手法のことです。そのテストをパスする最低限の実装を行った後、機能を維持したままコードを洗練していく手順で開発を進めます。
  • イ(ペアプログラミング):「ペアプログラミング」とは、2人1組で1つのプログラムの実装を行い、1人が実際のコードを打ち込み、もう1人はそれをチェックするという役割を随時交代しながら作業を進めていく手法のことです。
  • ウ(リバースエンジニアリング):「リバースエンジニアリング」とは、既存ソフトウェアの動作を解析して、製品の構造を分析し、そこから製造方法や動作原理、設計図、ソースコードなどを調査する技法のことです。
  • エ(リファクタリング):正解です。「リファクタリング」とは、外部から見た振る舞いを変更せず、より良いプログラムに書き直すことです。

「ITガバナンス」とは?

「ITガバナンス」とは、 コーポレートガバナンスをIT側から捉えたものであり、企業等が、経営方針に沿ったIT戦略を策定、ITシステムの導入・運用を、管理・統制する仕組みのことです。なお、成熟度を図るフレームワークとして、「COBIT」があります。

created by Rinker
¥1,159 (2022/08/18 13:43:19時点 Amazon調べ-詳細)

「ITガバナンス」に関する詳細解説、関連問題に関しては、下記リンク先も参照下さい。

ITガバナンスに関する問題

ITガバナンスに関する次の記述中のaに入れる,最も適切な字句はどれか。( a )は,現在及び将来のITの利用についての評価とIT利用が事業の目的に合致することを確実にする役割がある。
 ア. 株主
    イ. 監査人
    ウ. 経営者
    エ. 情報システム責任者

出典:令和3年度 春期 ITパスポート試験公開問題 問49

◆確認問題の解答(ウ)解説・・・「上記解説の「ITガバナンス協会」の定義で定めている通り(「ITガバナンスは取締役会および経営陣の責任である」)、(ウ)の「経営者」が適切である。