Source files
SF.3
Используйте заголовочные файлы для всех объявлений, применяемых в нескольких исходных файлах
Причина
Удобство сопровождения. Читаемость.
Пример (плохой)
// bar.cpp:
void bar() { cout << "bar\n"; }
// foo.cpp:
extern void bar();
void foo() { bar(); }
Разработчик, сопровождающий bar, не сможет найти все объявления bar, если потребуется изменить его тип. Пользователь bar не может знать, является ли используемый интерфейс полным и корректным. В лучшем случае сообщения об ошибках придут (поздно) от компоновщика.
Контроль
- Отмечайте объявления сущностей из других исходных файлов, не помещённые в
.h.