LINUX.ORG.RU

Иерархия файлов в проекте


0

0

Софтина моделирует хрень. Можно логически разделить на 3 части — ядро (матмодель, pure C++, куча классов, разделено на имякласса.cpp и имякласса.h, иногда только имякласса.h), модуль работы с файлами (загрузка и запись матмодель в файле<->матмодель в памяти) и интерфейс (Qt). Система сборки — cmake, всё компилится в единственный бинарник.

1. Как вы бы разделили исходники? Куда класть хедеры, куда cpp'шники?

2. Для документации используется doxygen. Я правильно понимаю, что хранить скомпиленную документацию внутри проекта не надо, а сборку документации следует включить средствами cmake? Куда помещать собранную таким способом документацию?

Есть файлы COPYING, AUTHORS, INSTALL, ChangeLog, NEWS, README, THANKS.

3. Чем отличается NEWS от ChangeLog?

Директория doc пустует, но потом положу туда руководство пользователя.

4. Если руководство пользователя будет сделано средствами LaTeX, то, ясен пень, pdf-ка будет помещена в docs, но куда класть .tex файл(ы)?

★★★★★

>4. Если руководство пользователя будет сделано средствами LaTeX, то, ясен пень, pdf-ка будет помещена в docs, но куда класть .tex файл(ы)?

Например в doc/src/ или даже doc/src/latex/, если будут ещё исходники другого типа.

anonymous ()

Re: Иерархия файлов в проекте

1. Как вы бы разделили исходники? Куда класть хедеры, куда cpp'шники?

По частям проекта. src/core src/io src/gui.

Для документации используется doxygen. Я правильно понимаю, что хранить скомпиленную документацию внутри проекта не надо, а сборку документации следует включить средствами cmake?

Да.

Куда помещать собранную таким способом документацию?

${CMAKE_CURRENT_BINARY_DIR}/doc/doxygen/формат

3. Чем отличается NEWS от ChangeLog?

NEWS - изменения видимые пользователю.

ChangeLog - изменения в коде, пишется для програмимста.

Begemoth ★★★★★ ()

>Куда класть хедеры, куда cpp'шники?

ИМХО для обычного кода лучше хедеры и cpp'шники класть в одну папку.

pathfinder ★★★ ()
Ответ на: Re: Иерархия файлов в проекте от Begemoth

> NEWS - изменения видимые пользователю.

ChangeLog - изменения в коде, пишется для програмимста.

NEWS пишется для релизов, а ChangeLog для всех версий (альфы, беты, rc, пререлизы, в общем всё то, что идёт в tags/ системы контроля версий), верно понимаю?

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Obey-Kun

NEWS пишется для релизов, а ChangeLog для всех версий (альфы, беты, rc, пререлизы, в общем всё то, что идёт в tags/ системы контроля версий), верно понимаю?

Необязательно, но нацелен именно на конечных пользователей.

Begemoth ★★★★★ ()
Ответ на: комментарий от Begemoth

Подождите, выходит что ChangeLog по сути дублирует коммиты в VCS, а NEWS — новости о выходе новых версий на сайте софтины? Зачем оно тогда нужно?

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Obey-Kun

Подождите, выходит что ChangeLog по сути дублирует коммиты в VCS,

Да, и может генерироваться из этих самых коммитов.

а NEWS — новости о выходе новых версий на сайте софтины? Зачем оно тогда нужно?

Нужно затем, чтобы человек мог узнать историю имея только tarball.

Begemoth ★★★★★ ()
Ответ на: комментарий от Begemoth

> Да, и может генерироваться из этих самых коммитов.

как это можно реализовать, например, для svn или hg в Google Code? Или имеется в виду, что ChangeLog генерируется вручную, после чего заливается? В любом случае, как это обычно делается?

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Begemoth

Спасибо! Также нашёл cvs2cl и git2cl :). Жаль, что нету hg2cl или аналога, во всяком случае я не нагуглил. Придётся использовать svn.

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Obey-Kun

> Придётся использовать svn.

Лучше просто забью на Google Code и заюзаю GitHub. Или просто свой хостинг.

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Obey-Kun

странный принцип выбора системы контроля версий

Reset ★★★★★ ()
Ответ на: комментарий от Reset

:) когда у проекта двое постоянных разработчиков, на VCS пофиг

Obey-Kun ★★★★★ ()
Ответ на: комментарий от Obey-Kun

> двое постоянных разработчиков

два постоянных разработчика

Obey-Kun ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.