Рекомендуемая структура каталогов системы контроля версий? - PullRequest
15 голосов
/ 03 сентября 2008

Я собираюсь использовать Subversion для управления исходным кодом в новом веб-приложении J2EE. Какую структуру каталогов вы порекомендуете для организации кода, тестов и документации?

Ответы [ 4 ]

14 голосов
/ 03 сентября 2008

У меня обычно есть

Project Directory
  src - actual source
  doc - documentation
  lib - libraries referenced from source
  dep - installation files for dependencies that don't fit in lib
  db  - database installation script

В работе с Visual Studio я не уверен, работает ли это так же в мире Java. Но я обычно помещаю вещи в разные папки проекта в src. Для каждого исходного проекта есть отдельный тестовый проект. Файлы сборки идут в основной каталог проекта. Я также обычно помещаю README, документирующий, как настроить проект, если ему нужно больше, чем просто проверить.

РЕДАКТИРОВАТЬ: Это структура для одной рабочей проверки проекта. Он будет продублирован для каждой ветви / тега в вашей системе контроля версий (помните, что в большинстве систем SVN копии дешевы). Приведенный выше пример под Subversion будет выглядеть так:

/project
    /trunk
        /src
        /doc
        /...
    /branches
        /feature1
            /src
            /doc
            /...
        /feature2
            /src
            /doc
            /...
3 голосов
2 голосов
/ 03 сентября 2008

Чтобы расширить то, что предложил Мендель Зибенга, я бы также добавил каталог web (для файлов JSP, WEB-INF, web.xml и т. Д.).

Тесты должны проходить в папке с именем test, которая является дочерней по отношению к основной папке src - таким образом, у ваших классов модульных тестов может быть то же имя пакета, что и у тестируемого исходного кода (для упрощения в ситуациях, когда вы хотите протестировать защищенные методы или классы, например ... см. JUnit FAQ для этого , и этот вопрос также на Где я должен поместить свои тестовые файлы? ).

Я сам не особо его использовал, но проект Maven также создаст папку resources рядом с папкой src для не исходного кода, который вы хотите упаковать / развернуть вместе с основным исходным кодом - вещи такие как файлы свойств, пакеты ресурсов и т. д. Ваш пробег может варьироваться в зависимости от этого.

0 голосов
/ 03 сентября 2008

Я использую Eclipse для создания веб-приложений J2EE, и это создаст следующую структуру проекта:

WebAppName\
    \lib
    \src
    \tests
    etc...

Затем я бы создал папку SVN в нашем транке с именем WebAppNameProject. В этой папке я буду создавать папки с именем WebAppNameSource, Documentation и т. Д. В папке WebAppNameSource я буду размещать источник проекта, сгенерированный Eclipse. Таким образом, я бы имел следующую структуру папок в SVN:

\svn\trunk\WebAppNameProject
    \WebAppNameSource
        \lib
        \src
        \tests
        etc...
    \Documentation 

Надеюсь, это поможет.

...