Я собираюсь загрузить проект, над которым я работал в Sourceforge под GPL, и надеялся получить некоторые советы о том, как организовать код таким образом, который легко понять и использовать любыми разработчиками, которые могли бы посмотрите на это, это хорошо работает с git, и то, как Sourceforge представляет вещи.Я собираюсь открыть исходный код проекта C++ на Sourceforge. Могу ли я получить некоторые советы по организации кода?
Моих проектов является C кросса-платформенными приложениями ++, и состоит из следующих действий:
- Порции библиотеки, которая делает фактическую работу
- Отдельной GUI часть, которая использует часть библиотеки
- Библиотеки с открытым исходным кодом, чьи включенные пути необходимы для компиляции библиотеки
- Измененные библиотеки с открытым исходным кодом, которые были изменены, и, следовательно, в некотором смысле являются прямой частью этого проекта, а также
- Скомпилированный выход всех библиотек
Каков наилучший способ организовать это?
Во время работы над ней сам, от корня проекта у меня есть это так:
/LibPortion
/GuiPortion
/LIBS/библиотеки с открытым исходным кодом
/ЛИЭС/модифицирована с открытым исходным кодом библиотеки
/ЛИЭС/скомпилированный/для хранения скомпилированных библиотек, в том числе при компиляции для Windows, некоторые из которых не из библиотек с открытым исходным кодом, таких как файлы библиотеки Cygwin.
Это разумный способ организовать вещи? Соответствует ли это соглашениям и ожиданиям?
При проверке моего проекта имеет смысл проверить библиотеки с открытым исходным кодом, а также часть проекта? Я полагаю, что имеет смысл сделать это, потому что это сводит к минимуму трение с тем, чтобы проект был настроен и запущен для нового разработчика. Конечно, я должен хотя бы проверить в модифицированных библиотеках с открытым исходным кодом.
Кроме того, что имеет смысл включать в репозиторий в скомпилированных библиотеках? Я думаю, что было бы лучше сказать git игнорировать этот каталог и оставить его пустым, так как его содержимое будет различным для каждой цели сборки, так как мой проект является кросс-платформенным.
Однако, это также кажется очень приятным для людей, которые не хотят хлопотать со строительством и/или загрузкой всех самих библиотек, чтобы предлагать библиотеки, предварительно скомпилированные для основных платформ. Каков самый умный способ поделиться ими? Я смотрю на Sourceforge, и мне не легко понять, как я должен делиться ими, если не как часть моего репозитория git.
@nantucket Пока не что-то действительно страшными, что самое главное документирует все - от того, как источник структурирован к как построить исполняемый файл и сделать развертываемую версию. Обычно я проверяю исходный код библиотеки при выполнении проектов Windows и полагаюсь на установленные библиотеки и пакеты, когда вы используете Linux. Если мне нужно сделать оба, я также проверю библиотеки. Но ключевое слово: * document * все. –