【りふぁくたりんぐ】
リファクタリング とは?
💡 動作はそのまま、コードを「お掃除」する
📌 このページのポイント
- 機能追加やバグ修正ではなく「コードの質の改善」
- テストがあることが前提(動作が変わっていないことを保証)
- 変数名の改善、関数の分割、重複コードの統合が代表的な手法
- 技術的負債の返済手段として重要
なんでリファクタリングするの?
いつやるべき?
「Boy Scout Rule(来たときより美しく)」が理想。機能追加やバグ修正のついでに、触ったコードを少し綺麗にする。大規模リファクタリングはリスクが高いから、小さく頻繁にやるのがベスト。「リファクタリング専用のスプリント」を設けるチームもあるよ
テストなしでリファクタリングは危険?
非常に危険だよ。リファクタリングの定義は「動作を変えない」だけど、テストがないと「動作が変わっていないこと」を確認できない。まずテストを書いてからリファクタリングする。テストがないレガシーコードには「特性テスト(現在の動作をそのまま記録するテスト)」を先に書くアプローチがあるよ
代表的なリファクタリング技法は?
まとめ:ざっくりこれだけ覚えればOK!
「リファクタリング」って出てきたら「動作を変えずにコードを改善すること」と思えればだいたいOK!
📖 おまけ:英語の意味
「Refactoring」 = リファクタリング
💬 Re(再び)Factor(因数分解)ing。コードを「因数分解」して整理するイメージだよ