ヘッダファイルインクルードの流儀

「ヘッダファイルを単独インクルードできるように必要なインクルードはそのヘッダファイルに書くべき」ってのはよくわかる。
で、プログラムを組んでると、あるソースファイルでヘッダXがありませんってのはよく出るエラーなんだけど、こういう場合って、そのソースに直でヘッダを書き足していく感じでいいのかねー。
自作ヘッダを作成して、そこに必要なインクルードをまとめた方がいいような気もするけどね。
ただ、その場合、何をインクルードしているかが見えにくくなったり、知らぬ間に多重インクルードする可能性もある。多重インクルードしてもヘッダに防止処理をしてれば問題はないんだけど、エレガントじゃなくね?
うーん、どうすればいいのかなー。
C++コーディングスタンダードによると、「ただし、余計なインクルードはするな」って書いてあるから、各ソースファイルと対になるようにヘッダファイルを分割化して、各ソースに必要なヘッダファイルはそこにまとめる。ってのが無難かも。
一個のヘッダファイルにまとめると、依存関係が強化されてちょっと編集しただけでビルド時間が延びるから避けた方が良さげ。
とはいっても、どこでも使うヘッダはまとめた方がいい。
どのように切り分けるかが設計の腕の見せ所ってやつだな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です