Структура пакета для Java-проекта?
Какова наилучшая практика для настройки структур пакетов в веб-приложении Java?
Как бы вы установили код src, unit test и т.д.?
Ответы
Ответ 1
Вы можете следовать стандарту проекта maven . Вам не нужно на самом деле использовать maven, но это облегчит переход в будущем (при необходимости). Кроме того, другие разработчики будут использовать этот макет, поскольку многие проекты с открытым исходным кодом выложены таким образом,
Ответ 2
Есть несколько существующих ресурсов, которые вы можете проверить:
Для чего это стоит, мои собственные личные рекомендации, которые я обычно использую, следующие:
- Начните с обратного домена, например. "Com.mycompany".
- Используйте имя продукта, например. "MyProduct". В некоторых случаях я имею тенденцию иметь общие пакеты, которые не относятся к определенному продукту. Они будут классифицированы в соответствии с функциональностью этих общих классов, например. "io", "util", "ui" и т.д.
- После этого он становится более свободной. Обычно я группирую в соответствии с проектом, областью функциональности, развертыванием и т.д. Например, у меня могут быть "project1", "project2", "ui", "client" и т.д.
Несколько других моментов:
- Это довольно распространено в проектах, над которыми я работал, для имен пакетов, которые вытекают из проектной документации. Обычно продукты уже разделены на области функциональности или цели.
- Не подчеркивайте слишком много о том, чтобы сразу нажать на общую функциональность в более высокие пакеты. Подождите, пока возникнет необходимость в проектах, продуктах и т.д., А затем рефакторе.
- Смотрите зависимости между пакетами. Они не все плохие, но это может означать плотную связь между тем, что может быть отдельными единицами. Есть инструменты, которые могут помочь вам отслеживать это.
Ответ 3
Я бы предложил создать структуру вашего пакета по функции, а не по уровню реализации. Хорошая запись на этом Практика Java: пакет по функции, а не слой
Ответ 4
Здесь вы можете прочитать о стандартных макетах каталогов и о структуре каталога/пакета для проекта java.
Ответ 5
Мне обычно нравится следующее:
- bin (Binaries)
- doc (Documents)
- inf (Информация)
- lib (Библиотеки)
- res (Ресурсы)
- src (Источник)
- tst (Test)
Это можно считать нетрадиционным, но я считаю, что это очень хороший способ организовать вещи.
Ответ 6
Еще одна очень хорошая статья о структуре пакетов Java: Управление пути Java classpath
Ответ 7
Как обычно у меня есть иерархия папки -
- Название проекта
- ЦСИ
- бен
- Тесты
- libs
- документы