保守の局面に入ってからの保守性の劣化、経年劣化のきっかけは、何だろうか。よくある保守性を壊すパターンを以下に二つ挙げる。

●分岐を追加する

 既存のプログラムに、単純に分岐を追加して対応する場合がよくある。分岐が一つ増えると、そのプログラムの使い方が一つ増える。ある一つのプログラムにいろいろな要件に基づく分岐を追加するにつれて、変更の際の影響調査が難しくなる。

 例えば、最初は全商品同一の処理であったが、商品によっては別の処理が必要となったとする。このときに商品コードによる分岐を持たせる方法を採ったため、商品を増やすたびに分岐が増えていき、気がついたら多数の商品の要件が混ざり合う複雑な手のつけられないプログラムになってしまう。本来は、商品別にプログラムを分けるべきだ。

●コピーしてそれを直す

 今のプログラムは変更したくないので、コピーしてそれを直して新しいプログラムとする方法は、一時的には影響を回避できるので、よく使われる。この方法だと全面的に直さないので、重複部分が必ず存在する。そのため、長期的には保守の対象が増殖し、重複部分の影響分析が困難になってしまう。本来、同じ処理の部分はくくり出して共通化すべきである。

 上記の「分岐の追加」と「コピーしてそれを直す」は、システムの保守性を悪くし、寿命を縮める原因となる。そのため、極力避けなければならない。ただ、ここで「極力」としているのには意味がある。この方法は1回だけであれば時間短縮につながる場合がある。しかし、これを同じ箇所に対して複数回行うと、保守性劣化によるデメリットが大きくなる。そのため、次に紹介する保守性の回復を積極的に実施しよう。