|
モジュール分割
C言語のプログラムは、ごく短いものならmain関数だけでできます。でも、main関数だけで完結できるのはせいぜい20〜30行程度です。それ以上大きくなる場合は関数を作ります。それでも1つのソースファイルの中に何十個も関数ができてくると、今度はソースファイルを複数に分割するようになります。C言語では、このファイルに分割した単位をモジュールと呼びます。さらに大きくなると、今度はライブラリを作ったりします。
プログラムを作るときは、無計画に作り始めるのではなく、最初に「設計」をしたほうがいいのは言うまでもないですが、ではどのように設計すればよいのでしょうか。
現在主流になっている考え方は、「分割して作った細かいモジュールを組み合わせて大きなプログラムを作る」という発想です。これにはいろいろと利点があります。まずモジュール間の結合度を低くすることによって、バグの原因を局所化できます。
担当をはっきりわけておけば、何かあったときに、自分の責任なのか、自分の責任じゃないのかはっきりしますよね?それと同じです。また、モジュールが小さければ小さいほど、バグの原因究明で解析する範囲が小さくなりますよね。
もう一つの利点は「再利用性」です。極端なことを言えば、main関数の中にすべて書いてしまってもプログラムはできるわけですが、それだと一部を抜き出して他のプログラムに転用するということは困難です。より細かく、汎用的なモジュールを作ることによって、他のプログラムに再利用できるパーツが増えてくるわけです。
|