†libA、libBの2つの内作ライブラリを用いるappSampleというアプリケーションをC++で作成するものとします。appSampleはlibA、libBに依存します。libBはlibAに依存します。次のヘッダファイルをインクルードするものとします。appSampleのヘッダファイル。libBの公開ヘッダファイル。libAの公開ヘッダファイル。boost等、利用している外作ライブラリのヘッダファイル。C/C++標準や実装環境標準のヘッダファイル。記述順序をどうしますか?「気にしたことがない」という場合を除き、概ね次のどちらかになるのではないかと思います。"App.h"依存関係の末端から先にインクルードするのが【X】、根元から先にインクルードするのが【Y】です。このどちらがより良いインクルード順序であると考えられるでしょうか?私は【X】を推します。次のような内容になっている場合があるからです。インクルードしてないとかアホか!」と思うことでしょう。開発が大規模になり依存関係が増えてくると、こういったヘッダファイルの記述忘れは往々にして起こりえます。インクルードされているため、問題なくコンパイルが通ってしまいます。インクルードしていないソースコード」でインクルードされるまで気付かれません。libBをappSampleの実装のみに用いているうちはそれでもいいかもしれませんが、将来的に他の実装で用いることになった場合に余計な手間が発生するリスクがあります。記述されていた場合は同じ問題が起こりえます。【X】も完璧であるとは言えません...が、少なくとも【Y】よりは記述忘れの早期発見確率は高くなるはずです。用意するはずなので、そこで【X】のインクルード順序を採っていればまず間違いなく気付くことができます。以上から、ヘッダファイルのインクルードは依存関係の末端に近いものほど先に行うことを私は推奨します。すると大多数の人は「気にしたことがない」に当てはまるのかもしれませんが。