Как организовать проект на С++
Я хотел бы знать, что такое лучшие рекомендации С++, когда дело доходит до организации моего проекта. Я прочитал, что я должен поместить все исходные файлы (.cpp) в папку src, а файлы заголовков (.h) должны быть помещены в папку include. Так оно и должно быть, или я должен помещать файлы заголовков в папку исходных файлов?
Это структура дерева папок
- Project
|
+--- src (.cpp)
|
+--- include (.h) ????
|
+--- test (cpp unit test)
|
+--- doc (docs)
Ответы
Ответ 1
файлы заголовков (.h) должны быть помещены в папку include.
Не все из них. Только в общественном достоянии. Если a class
или функция специфична для модуля, она должна быть внутри этого модуля. Папка include должна содержать заголовки, которые могут быть включены любым другим модулем.
Вы также, вероятно, захотите добавить:
-
bin
- для хранения ваших библиотек
-
lib
- тот же
-
exe
- генерировать исполняемые файлы здесь (необязательно, также может быть в bin
)
-
etc
- файлы конфигурации
Ответ 2
Это вопрос предпочтения, но организация базы кода помогает в ремонтопригодности, а также для легкого понимания кода. Как можно больше нужно иметь модульный подход. Ваша организация кода выглядит почти правильно, в идеале я бы:
- Project
|
+--- src (.cpp)
|
+--- include (.h) ????
|
+--- test (cpp unit test)
|
+--- doc (docs)
|
+--- bin (generated binaries)
|
+--- lib (external dependencies)