>Cではモジュール化しようと思った所しかモジュール化しません。
>具体的に言うと、せいぜいDBアクセスとか通信部分などでしょう。
えーっ!
私がある程度大きなプログラムを最初にCで設計から実施したのは、入社2年目でしたから
かれこれ15年くらいは前の話ですけれど、すべての関数をモジュールに入れていました。
5万行程度の、UNIX上のシステムで、XとMotifで画面描画するようなシステムでした。
他にもいろいろなシステムを見ましたが、数万行以上の規模なら、誰が設計しても、
まずモジュール分割はやっていたように思います。ヘッダファイルをちゃんと分離して
なかったりして変なことになっているケースはよくありましたが。
そういう経験もあって、2000年2月ころに書いたのがこちら。
http://kmaebashi.com/programmer/c_yota/module.html
現在作っているcrowbarやDiksamといった言語も、モジュール分割はしています。
Diksam ver.0.2のソースにGLOBALをかましたのはこちら。
http://kmaebashi.com/programmer/devlang/diksam_src_0_2/index.html
メモリ管理モジュールMEMやデバッグ用モジュールDBGの上に、コンパイラDKCと
仮想マシンのDVMがあります。その中でも機能ごとにソースファイルを分けると
いったようなことはしています。
なお、なにせCなのでモジュール化の単位はクラスではないですけど、
これはその方が都合がよいという考えでそうしています。
Javaでも、メンバのアクセスレベルがデフォルトで「パッケージ」になっている
あたり、「実装隠蔽の単位としてクラスは適当ではない」というのが現状の
コンセンサスでいいんじゃないかと思っています。
……それはさておき。
私も長いことこの仕事をやってますから、いろいろアレな設計やナニなソースを
見てきたつもりでいましたけど、なんだかんだでずいぶん恵まれた環境にいたのかなあ。
これでも。