c言語 モジュール分割
cのプログラムはファイルを分けてモジュール分割可能。
ヘッダーファイルは設計図で、Cファイルは実装だ。
ヘッダーファイルには他モジュールが知る必要がことだけを書く。
公開関数のプロトタイプと、それの戻り値、引数で関係してくる
マクロ、列挙体、構造体。
ヘッダーファイルを読めば、プログラムの概略は把握しやすい。
なので、ヘッダーファイルはコメント多く丁寧に記述すること。
ファイルを一構成要素とした、モジュール構成図、シーケンス図が
設計書に記述される内容だ。
シーケンス図内では各モジュールの公開関数だけでなく、
各モジュール内の主要な非公開関数も記述するとベター。
ここまでに出てきた、モジュール構成図、シーケンス図(これは
ストーリー毎に存在)、ヘッダーファイルを見れば、プログラムの
全てを知らなくても、概要レベルで一度全体を把握できる。
(もちろん、関数で実装している機能の詳細は別途必要だけれども)
そんなこんなでモジュール分割することによる利点をまるで把握
できていなかったのでメモ書き。
追記:
そもそもある程度の大きさのプログラムを作るときは、はじめに
どのようなモジュールを作ってとか考えて、データ構造と関数を
割り振っていくんだろう。