リファクタリング
りふぁくたりんぐ
English: Refactoring
意味
リファクタリング(Refactoring)とは、ソフトウェアの「外部からの振る舞い(機能)」を変えずに、「内部の構造(コード)」を整理・改善すること。読みやすく、修正しやすいコードに書き換えることで、バグを減らし、将来の開発効率(メンテナンス性)を高める。
概要
プログラムの「外から見た挙動(機能)」は変えずに、「内部の構造(コード)」を整理して綺麗にすること。 「コードの大掃除」。
目的
- 可読性向上: ぐちゃぐちゃなコード(スパゲッティコード)を読みやすくし、後から他の人が修正しやすくする。
- 保守性向上: バグの温床となる重複コードをまとめたり、複雑すぎる条件分岐をシンプルにしたりして、将来の機能追加を楽にする。
いつやるか?
「機能を追加する前」や「バグ修正のついで」に行うのが良いとされる(ボーイスカウトの規則:来た時よりも美しくして去る)。 リファクタリング自体は新しい機能を生み出さないため、顧客や上司に理解されにくいのが悩みだが、これをサボると「技術的負債」が溜まり、最終的に開発がストップしてしまう。