ホームページ目次前の話次の話

プログラム集中治療室で行う緊急処置(3)整理

2008年3月24日

前回、プログラムのソース全体を眺めることを書いたが、眺めているだけでは何も始まらない。 まあ、適当なメモとかは取ったかもしれないが、今回からはプログラムに手を付けよう。

でも、手をつける前に行う作業がある。 実際にファイルをいじり始める前に、いつでも修正を戻せるように、 何等かのソースプログラム管理ツールを利用することを強く薦める。 作業によれば、元の形からあまりにも逸脱する整理、変更を行なうことがあるので、 ソースプログラム管理ツールがどこまで役立つかは何とも言えない。 いずれにしても、何が起っても慌てなくて済むように、 ソースプログラムのバックアップ体制をしっかりしてから作業に望もう。 さもないと、地獄を見ることになる。

プログラムに手を付けるとき、 肝心なことは、急に目的の修正を加えようとか思わないことだ。 そもそも、そんなことが出来るはずがない不幸なプログラムに遭遇した場合、どうすればよいだろうか。

まず、プログラムを大きく2つに分ることができるか考える。 それは、何らかの修正を加えることがあるソースファイルと、 とりあえず汚さには目を閉じて、そのままにしておいても目的は達成できるファイルに分類しよう。

この作業を、駆け込み寺では、「腑分け」と呼んでいたりする。 当然、何らかの手を加えるファイルの数は少い方が良い。 大量にソースに手を加えるくらいなら、全てを捨てて、新鮮な気持ちで作るのが良いに決っている。

分けるときに、別のフォルダ(ディレクトリ)にしたり、別パッケージにするなど、 はっきりとどちらか分るような構成にしておくことが重要だ。 どのように作業をするかはプログラミング言語により若干異なる。

この整理作業で重要なことは、一気に行なわないことだ。 理屈の上では、形の上だけの変更を行なっているだけなので、問題なく動く筈だと思っても、 ときどき動作チェックを行なうべきである。 理屈通りに動くようなプログラムを相手にしているのではないことを肝に命じておこう。

ファイル単位で、バサバサと仕分け出来る場合はとても恵まれている。 たとえ10万行以上あったにせよ、それなりの作業量で済むはずだ。 なにしろ、ファイルの移動を行なっているだけなので、精神的緊張もそれほど高くなくて良い。

多分、整理している間に、多数のゴミが発見される筈である。 どこからも決して呼出されない、使われることのない、クラス/メソッド/関数とかがたくさん存在するはずだ。 ファイル単位でまったく不要な場合は、ファイルごと捨ててしまおう。 このように、まったく不要なファイルを保持しておくためのフォルダ/ディレクトリを gomi とか trash という名前で作っておくととても便利だ。 このごみ箱にどのくらいファイルが集まるかも楽しい(馬鹿馬鹿しい)ものである。

ファイル単位ではなく、メソッド/関数の単位でまったく使われていないものが転がっていることもよくある。 いつでも元に戻せるようにして作業している筈だから、 不要なものは消してしまおう。 そして、消したら、消してもまだプログラムが正常に動作することを確認しよう。 ある程度まとめて消してから動作確認も良いが、くれぐれも注意して行なうべきである。

これらの作業を行なって、実際に手を入れなければならないソースプログラムの総量が少ければ随分助かる。 この作業を行なっても、何万行ものソースプログラムに手を入れなければならない極めて不幸なこともある。 そういう場合は、今一度、ソースプログラムそのものを捨てて、潔くゼロから作り直すことを検討してみよう。

今回は、簡単にできる整理について書いたが、次回は血を流さなければいけない危険を伴う整理について紹介しよう。


我輩は猫である


ホームページ目次前の話次の話