2011-11-30 改めて、リファクタリングとは? リファクタリング 移転しました。 その前に、振る舞いとは? ソフトウェアで最も大切なのは「振る舞い」であり、振る舞いこそがユーザーの求めるものである。期待される振る舞いを私たちが追加すればユーザーが喜ぶが、ユーザーの求める振る舞いを変更、あるいは削除してしまえば、バグの作り込みとなり、私たちへの信頼は失われてしまう。 レガシーコード改善ガイドp.4 リファクタリング(refactoring)とは? 外部から見たプログラムの振る舞いを変えずに、プログラム内部の構造を改善すること リファクタリングを行っても、外部から見たプログラムの振る舞いは変わらない リファクタリングを行うと、プログラム内部の構造は改善する リファクタリングの目的 バグを見つけやすくする プログラムが整理され、潜んでいるバグが見つけやすくなる。 機能追加しやすくする 機能追加を重ねると、ソースコードは複雑になっていく。その複雑になったソースコードに対しての機能追加は、さらに難しくなり、余計な時間がかかるようになる。 リファクタリングによって、構造が崩れかかったコードを整え、きれいにすることで、機能追加を楽に行えるようになる。 リファクタリングのエッセンス ステップ・バイ・ステップ(1度に1つずつ) 2つの修正を一度に行わない 後戻りしやすいように ステップごとの確認 古いものから新しいものに変えていく 参考図書 レガシーコード改善ガイド (Object Oriented SELECTION) マイケル・C・フェザーズ 翔泳社 2009-07-14 ¥ 4,410 Amazon.co.jp で詳細を見る Java言語で学ぶリファクタリング入門 結城 浩 ソフトバンク クリエイティブ 2007-01-27 ¥ 3,360 Amazon.co.jp で詳細を見る