ソフトウェア変更 要件の追加とバグの修正 バグ修正・要件追加など、色々な見方があるが、技術的に大切なことは、振る舞いが変更されるかどうかです。新しい振る舞いの追加と既存の振る舞いの変更には大きな違いがあります。 ソフトウェアで一番大切なことは、「振る舞い」であり、 ユーザーから見えるものは、振る舞いである。 期待される振る舞いを私たちが追加すれば、ユーザーは喜ぶが、ユーザーの求める振る舞いを変更、あるいは削除してしまえば、バグの作り込みとなり、私たちへの信頼は失われてしまう 振る舞いを追加するのか、振る舞いを変更するのか?という議論は問題点が明確に区別されにくい。これを区別する有効な方法をかんがえてみる ・新しいコードを追加してそれを呼び出すのみ ⇒ 振る舞いの追加 ・既存のコードを変更する必要がある ⇒ 振る舞いの変更 設計の改善 リファクタリングでは、小さな構造修正を繰り返し行