Что лучше при удалении ненужных включений?

У меня такая ситуация в File.h:

//File.h
#include "Info.h"#include "Constants.h"

В Info.h уже включен Constants.h

//Info.h
#include "Constants.h"

Но File.h напрямую использует вещи, которые были определены в Constants.h

Все защищено прагмой, поэтому файлы не будут включены дважды.

Должен ли я сохранить

//File.h
#include "Constants.h"

в File.h для удобства чтения, или удалите его, потому что он уже включен в Info.h?

2

Решение

Вам следует не полагаться на другой заголовок, включая то, что вам нужно, но явно включая заголовки, которые вам нужны.

В частности: попробуйте переместить включения в файлы cpp (не в заголовки), чтобы минимизировать перекомпиляцию единиц перевода после изменений.

Избегание включения вещей через цепочку других включений открывает путь для меньшего количества ошибок и проблем во время задач сопровождения и обслуживания кода.


Ссылки: многие коммерческие продукты согласуются с этой философией, в том числе LLVM.

Кроме этого, это зависит от вас.

2

Другие решения


По вопросам рекламы [email protected]