Структура пакета для Java-проекта?

Какова наилучшая практика для настройки структур пакетов в веб-приложении Java?

Как бы вы установили код src, unit test и т.д.?

Ответ 1

Вы можете следовать стандарту проекта maven . Вам не нужно на самом деле использовать maven, но это облегчит переход в будущем (при необходимости). Кроме того, другие разработчики будут использовать этот макет, поскольку многие проекты с открытым исходным кодом выложены таким образом,

Ответ 2

Есть несколько существующих ресурсов, которые вы можете проверить:

Для чего это стоит, мои собственные личные рекомендации, которые я обычно использую, следующие:

  • Начните с обратного домена, например. "Com.mycompany".
  • Используйте имя продукта, например. "MyProduct". В некоторых случаях я имею тенденцию иметь общие пакеты, которые не относятся к определенному продукту. Они будут классифицированы в соответствии с функциональностью этих общих классов, например. "io", "util", "ui" и т.д.
  • После этого он становится более свободной. Обычно я группирую в соответствии с проектом, областью функциональности, развертыванием и т.д. Например, у меня могут быть "project1", "project2", "ui", "client" и т.д.

Несколько других моментов:

  • Это довольно распространено в проектах, над которыми я работал, для имен пакетов, которые вытекают из проектной документации. Обычно продукты уже разделены на области функциональности или цели.
  • Не подчеркивайте слишком много о том, чтобы сразу нажать на общую функциональность в более высокие пакеты. Подождите, пока возникнет необходимость в проектах, продуктах и ​​т.д., А затем рефакторе.
  • Смотрите зависимости между пакетами. Они не все плохие, но это может означать плотную связь между тем, что может быть отдельными единицами. Есть инструменты, которые могут помочь вам отслеживать это.

Ответ 4

Здесь вы можете прочитать о стандартных макетах каталогов и о структуре каталога/пакета для проекта java.

Ответ 5

Мне обычно нравится следующее:

  • bin (Binaries)
  • doc (Documents)
  • inf (Информация)
  • lib (Библиотеки)
  • res (Ресурсы)
  • src (Источник)
  • tst (Test)

Это можно считать нетрадиционным, но я считаю, что это очень хороший способ организовать вещи.

Ответ 7

Как обычно у меня есть иерархия папки -

  • Название проекта
    • ЦСИ
    • бен
    • Тесты
    • libs
    • документы