複数の開発者が使用するヘッダーファイルを作成する場合、そのヘッダーファイルで使用されるすべての定義と宣言に関して、そのヘッダーファイルを自給自足にすることは優れたプログラミング手法と見なされます。
例えば:
ヘッダーファイル1:types.h
#ifndef TYPES_H
#define TYPES_H
typedef unsigned int uint16
#endif
ヘッダーファイル2:myheader.h
#ifndef MYHEADER_H
#define MYHEADER_H
uint16 myfunc(void);
#endif
私はtypes.hを含めずにmyheader.hでuint16を使用しました。したがって、ソースファイルにmyheader.hを含めたい場合は、最初に「types.h」を含めてから、「myheader.h」を含める必要があります。したがって、これは実際には開発者に特定の順序でヘッダーファイルを含めることを強制しています。私はいつもこれを悪い習慣だと思っていましたが、今日私の会社で、1つのファイルで関数を宣言するには、少なくとも4つの他のヘッダーファイルをインクルードする必要があるコードに出くわしました。だから今、私は混乱しています、何かが足りないのですか、これが期待される行動と見なされる場所はありますか?