GLOSSA

リファクタリング

りふぁくたりんぐ

Refactoring

一言でいうと

外から見える振る舞いを変えずに、コードの内部構造をきれいにする作業のこと。

詳しい意味

リファクタリングは、ソフトウェアの「外から見える振る舞い」を変えずに、内部のコード構造・命名・分割を改善する作業です。バグ修正でも機能追加でもなく、純粋に「読みやすく・直しやすく・テストしやすく」するための作業。リファクタリングを安全に行うには、まずテストを揃えて挙動を固定し、小さな単位で変更してテストを通すサイクルが基本。「壊れていないなら直すな」原則と「変更が必要な時こそ綺麗にする」原則のバランスをチームで決めます。長く触らないと内部腐敗(technical debt)が溜まり、変更コストが上がっていくので、定期的なリファクタは投資として位置づけられます。

何に使うか

新機能を追加する直前に、改修対象周辺のコードを整えるとき。重複コードを共通化するとき。テストが書きにくい構造をテスト容易性のために整理するとき。

どんな時に出るか

「リファクタしてからPR出す」「リファクタ専用PR」「これは大規模リファクタリングが必要」といった場面で登場します。

具体例

  • ユニットテストでカバーしてからリファクタリングしたので、安全にコード構造を整理できた。
  • 技術的負債が溜まった箇所は、機能追加のついでに少しずつリファクタする運用にしている。

別名・略称

refactoring(りふぁくたりんぐ)refactor(りふぁくた)リファクタ(りふぁくた)

関連語

ユニットテストTDD

初心者向けメモ

家の「片付け」のようなものです。中身(生活機能)は変わらず、収納・配置・動線を改善する作業。やる前と後で住人の暮らし方は同じだけど、暮らしやすさと次の改装のしやすさが大きく変わります。

この説明に改善点はありますか?

この説明を修正提案する新しい用語を提案する

提案は管理者が確認した後に反映されます