水曜日, 11月 16, 2005

フローチャートは古代の遺物か?

うちの開発チームでは、これからはフローチャートを詳細仕様書に入れて使うらしいと聞いて、びっくり仰天。フローチャートは確かに昔はよく使われてたって聞くし、フローチャートを作成してからコードを書くなんて話も聞いてた。実際、僕の隣の席ではそうやって開発をしてる人もいる。でも、それを詳細仕様書に使うのはどうか・・・なんて思ってしまった。つーのは、いろんなところで、フローチャートを書く意味はないなんてことを見聞きしているからなんやね。これは「フローチャート」をぐぐってトップに出るページに書かれてる文章。

しかし、このようなフローチャートも、プログラムの規模が少し大きくなるだけで、途端にうまく機能しなくなる。その理由は次のとおりである。まず第一に、フローチャートを理解するには、始めから順に流れに沿って追っていかないといけない、ということがある。これは、大きなプログラムになった場合、全体を理解する上で障害となる。実際に、世の中のフリーソフトをフローチャートにしてみようとするだけで、線が込み入ってしまい、他人が見たらどこがどうなっているのか分からなくなってしまう。さらに、企業で開発するような大規模アプリケーションの場合を考えてみると、フローチャートでは、とてもではないが他人が見て理解できる代物ではなくなってしまうだろう。


これを読んだだけで、誰だって使う気なくすやんね。でもまだある。これは著名な書籍「Cプログラミング診断室」からの引用。プログラマなら読んだことある人も多いんちゃうかな。

私は、もう10年くらいフローチャートを書いていないし、見るのさえ何年ぶりになるだろうか。世の中に、まだ、goto文と同様に諸悪の根源とされているフローチャートを業務に使っている職場が存在していたとは恐ろしいことです。私の知っている限り、プログラム開発現場の第一線で活躍している人たちは、もう誰もフローチャートは使っていません。早く使用中止にしたほうが良いのではないでしょうか。フローチャートは、「ソフトウェア考古学」の対象であり、情報処理技術者試験の中にだけ今だに残っているものです。


爽快なくらいばっさり切ってるね。この本が出たのは10年近く前なんやけど、実際フローチャート見るくらいなら、ソース見た方が早いってのはできるプログラマならみんな思ってることやろうね。アセンブラの時代はそうじゃなかったし、フローチャートはその時代の遺物なんやね。

さて、僕自身は、今も今までも、その開発チームとは違う仕事をしていたんで、今回あえて口を挟むことはしいひんかった。事実上の門外漢やからね。さて、頑張って作ったフローチャート、ちゃんと活用できるんかねえ。ソースを変えるごとに一緒に更新するんやろうね。大変やなあ。

0 件のコメント: