• SIS Lab
  • >
  • Blog
  • >
  • 改めて、リファクタリングとは?

改めて、リファクタリングとは?

更新日:2018.02.17 作成日:2011.11.30

その前に、振る舞いとは?

ソフトウェアで最も大切なのは「振る舞い」であり、振る舞いこそがユーザーの求めるものである。期待される振る舞いを私たちが追加すればユーザーが喜ぶが、ユーザーの求める振る舞いを変更、あるいは削除してしまえば、バグの作り込みとなり、私たちへの信頼は失われてしまう。
レガシーコード改善ガイドp.4

リファクタリング(refactoring)とは?

外部から見たプログラムの振る舞いを変えずに、プログラム内部の構造を改善すること

  • リファクタリングを行っても、外部から見たプログラムの振る舞いは変わらない
  • リファクタリングを行うと、プログラム内部の構造は改善する

リファクタリングの目的

バグを見つけやすくする

プログラムが整理され、潜んでいるバグが見つけやすくなる。

機能追加しやすくする

機能追加を重ねると、ソースコードは複雑になっていく。その複雑になったソースコードに対しての機能追加は、さらに難しくなり、余計な時間がかかるようになる。

リファクタリングによって、構造が崩れかかったコードを整え、きれいにすることで、機能追加を楽に行えるようになる。

リファクタリングのエッセンス

ステップ・バイ・ステップ(1度に1つずつ)

  • 2つの修正を一度に行わない
  • 後戻りしやすいように
  • ステップごとの確認
  • 古いものから新しいものに変えていく

参考図書

レガシーコード改善ガイド (Object Oriented SELECTION)
レガシーコード改善ガイド (Object Oriented SELECTION)
出版社:翔泳社
著者:マイケル・C・フェザーズウルシステムズ株式会社ウルシステムズ株式会社平澤 章越智 典子稲葉 信之田村 友彦小堀 真義
発売日: 2009/07/14

Related contents