Я записываю свой импорт в заголовочные файлы, чтобы в каждом файле реализации была только одна директива включения.Это также имеет то преимущество, что скрывает зависимости от пользователя кода модуля.
Однако у этого же скрытия есть недостаток: пользователь вашего модуля может импортировать все виды других заголовков, включенных в ваш заголовок, которые он может не делатьнужно вообще.С этой точки зрения лучше иметь директивы включения в файле реализации, даже если это означает ручное разрешение зависимостей, потому что это приводит к более легкому коду.
Я не думаю, что есть единственный ответ.Учитывая причины, которые я привел, я предпочитаю первый подход, я думаю, что он приводит к более чистому коду (хотя и более тяжелому и, возможно, с ненужным импортом).
Я не помню, кого цитирую (и, следовательно, фразуне точно), но я всегда помню, как читал: «программы написаны для людей, чтобы читать, и иногда для компьютеров, чтобы выполнить».Меня не особо волнует, есть ли несколько килобайт кода, который не понадобится пользователю моего модуля, если он может легко импортировать его и использовать с одной директивой.
Опять же,Я думаю, что это вопрос вкуса, если только я не смог что-то рассмотреть.В этом случае комментарии приветствуются!
Приветствия.