Это во многом дело вкуса.Я считаю, что при написании библиотек удобно давать основному .c-файлу имя библиотеки, а .h-файл, который пользователи #include, очевидно, использует это имя для упрощения работы пользователей.
Внебиблиотечная исходная база, некоторым людям нравится иметь файл .h для каждого файла .c, который объявляет все внешние элементы в этом файле .c.Лично мне это не нравится - он требует, чтобы каждый файл, который использует эти внешние элементы, знал, в каком файле они находятся, и это делает утомительным разбиение больших файлов, так как вам нужно обновить файл .h и все файлы .c, которые его включают,Я предпочитаю иметь .h файлы, которые покрывают область кода, а не конкретный файл;в небольших кодовых базах, где модульность не является проблемой, на мой взгляд, хорошо работает единственный файл externs.h для всего.Но это определенно является вопросом вкуса, с которым способные инженеры могут не согласиться.
(Но учтите, что объявление всех внешних файлов в файле .h и наличие файла .c, который создает экземпляр глобального #include для этого файла .h, является фундаментальным для хорошего кодирования. Никакое ключевое слово extern никогда не должно появляться в файле .c, и вы должны включить флаг предупреждения компилятора об ошибке в определениях глобальных переменных без соответствующего объявления extern, что гарантирует, что каждый файл согласен с тем, что символ extern являетсяобъявлен как)