極小

標頭是一種關鍵的一致性檢查機制,但它們應儘可能小。特別是,這意味著標頭不應該包含其他標頭,因為實現檔案需要其他標頭。標頭應僅包含所述服務的使用者所需的那些標頭。

例如,專案標題不應包含 <stdio.h>,除非其中一個函式介面使用 FILE *型別(或僅在 <stdio.h> 中定義的其他型別之一)。如果一個介面使用 size_t,那麼最小的標題就是 <stddef.h>。顯然,如果包含定義 size_t 的另一個標題,則也不需要包含 <stddef.h>

如果標頭是最小的,那麼它也將編譯時間保持在最小。

可以設計標題,其唯一目的是包含許多其他標題。從長遠來看,這些很少會成為一個好主意,因為很少有原始檔實際上需要所有標頭描述的所有設施。例如,可以設計一個包含所有標準 C 頭的 <standard-c.h> - 小心,因為一些頭並不總是存在。然而,很少有程式實際使用 <locale.h><tgmath.h> 的設施。