p53)に書かれている用語で、以下のように定義されています。外部から見たときの振る舞いを保ちつつ、理解や修正が簡単になるように、ソフトウェアの内部構造を変化させること。SERIES)リファクタリングをするメリットリファクタリングそのものは何も機能追加やバグ修正を行いません。長期的には品質と開発スピードの向上に繋がります。リファクタリングのタイミングリファクタリングは以下のタイミングで行うのが分かりやすいです。リファクタリングをする際はテストが必須だからです。やるのがいいと思います。リファクタリングを知らないのは論外と言っていいです。リファクタリングを知ることで、これだけプログラミングのスタイルが変わるからです。品質が向上する「変化を受け入れる」という思考が身につく。逆に言えば、リファクタリングを知らない人は、「一度書いたコードは変更しない」という考えに固執しがちです。良いコードと悪いコードの見分けがつくようになる。リファクタリングがしづらいコードはほとんどの場合、悪いコードだからです。命名に気を配るようになる。基本的なリファクタリングの1つに、「メソッド名の変更」というものがあります。「デザインパターン」を知るきっかけになる。リファクタリングは闇雲に行うのではなく、デザインパターンという良い指針に向かって行う事が多いです。テスト、特に単体テストを書く理由が理解できる。リファクタリングを知らない人は、これらを学ぶ機会に恵まれているとは思えません。技術者としては袋小路に入ってしまいます。変化を拒絶してしまう人になってしまいます。それが容易な場合と、注意が必要な場合があります。Javaの場合例えば、以下のものはIDEを使えばほぼ100%安全です。注意が必要なものもあります。リファクタリングができない人は、「何が安全か」の見極めが出来ていないからです。何が安全かを見極めるためには、Java言語の知識が必要です。その知識が足りない人は見極めが出来ず、必要以上に怖がり、良いプログラムが書けません。