Я лично подписан на философию «положи, где используешь». Это делает более понятным, какие файлы используют, что, где находятся зависимости и т. Д.
Представьте, что у вас есть заголовок MyHeader.h
. Если вы вносите в него изменения, которые требуют изменения кода, который опирается на него, легко найти этот зависимый код, если в каждом файле, который его использует, есть #include "MyHeader.h"
- вы можете просто выполнить глобальный поиск для оператора включения.
Если, с другой стороны, вы включаете только MyHeader.h
в какой-то другой заголовок MyHugeHeader.h
, а затем включаете , что в ваши файлы, вы не можете сделать то же самое, поскольку все, что находится в файлах используйте MyHeader.h
, равный #include "MyHugeHeader.h"
, так же, как и любой другой файл.