ごろにゃ~の手帳(備忘録)

備忘録的ブログ。経営やマネジメント、IT、資産運用、健康管理などについて書き留めてます。

リファクタリング

 ソフトウェア・プログラムの保守性・再利用性を高めることを目的に、それが提供する機能仕様を変えることなく、内部構造を再構築(restructuring)するプログラミング・テクニックのこと。

 ソフトウェア開発・保守で、要求変更や障害対応などでプログラムの改版を繰り返しているとソースコードが冗長で複雑なものとなってしまうことが多い。また、初期段階において最適な設計だったとしても、前提となるプラットフォームやアーキテクチャが変更になったり、新たなテクノロジが登場したりなどの結果、そのプログラムが変更に対応しづらいものになってしまうこともある。

 こうしたプログラムの品質劣化を未然に防ぎ、将来にわたる機能拡張性の維持と保守作業の効率化を目的に、個々のプログラムを随時手直ししていくのがリファクタリングである。これはソフトウェアに機能を追加・変更するタイミングに併せて行われることもあるが、あくまでも“プログラムの外部の振る舞いを変えない作業”を指し、機能追加・変更とは別の概念である。また、システムの設計やアーキテクチャの変更を意味するものではない。