5.PID制御走行と限界感度法 TOPへ 7.OILファイル

6.分割プログラミング


1.プログラム分割のメリット

ある程度以上の機能を持つプログラムを作成する場合、一つのファイルでコーディングすると、行数が膨大になり、全体の見通しも悪くなり、編集作業やデバッグの効率も悪くなる。そのような場合は、いくつかのファイルに分割してコーディングした方が編集・デバッグ効率が上がる。また、プログラムを分割することにより、一つのソフトウェアを複数人で開発することが可能になる。

2.プログラム分割の指標

プログラム分割にあたって、まずそのソフトウェアが持つ機能や責務を明確にし、それに応じたモジュール化を行う。 プログラム分割はこのモジュールをベースにして行う。
一つのモジュールをそのまま一つの分割プログラム(ファイル)に対応させることが多いが、一つのモジュールをさらに複数のファイルに分割したり、逆に複数の小さいモジュールを一つのファイルにまとめることもある。

一つのモジュールは、出来る限り関連の強い処理だけをまとめ複雑な機能を持たせないようにし、また他のモジュールとの複雑なデータのやり取りがなく出来るだけ独立性が高い方がよい。前者を「凝集度が高い」といい、後者を「結合度低い」という。 凝集度が高く結合度が低いモジュールは、ソフトウェア部品として使いやすく、保守性もよくなる。


3.プログラム分割する変数と関数の扱い

プログラム分割した場合、変数と関数の扱いに関して次のことに留意する。

グローバル変数とローカル変数

マクロ変数


4.Makefile

これまでは Makefile の TARGET_SOURCES のエントリに一つのファイルのみを記載していたが、ここに分割した複数のファイルをスペースで区切って列挙する。記載する順序は特に制限はない。例えば、ファイルを trace.c と calibration.c に分割した場合は次のように記述する。

TARGET_SOURCES = trace.c calibration.c

TARGET 名は複数にはしないこと!




5.PID制御走行と限界感度法 TOPへ 7.OILファイル