Какое соглашение об именах пакетов вы используете для личных/хобби проектов на Java?

Я уже знаком со стандартным соглашением об именах Java-пакетов с использованием имени домена для создания уникального имени пакета (т.е. пакета com.stackoverflow.widgets). Тем не менее, я никогда не видел рекомендаций относительно того, как выбирать имена пакетов для личных проектов. Я предполагаю, потому что это потому, что это действительно вопрос личного вкуса.

Итак, как вы выбираете имена пакетов для личных проектов, которые никогда не будут внедряться в производство (вы можете экспериментировать с новой структурой в свободное время). Предполагая, что у вас нет персонального веб-сайта, домен которого вы можете использовать для создания своей структуры пакета, что вы делаете (или будете) делать? У вас есть логическая система для создания новых имен пакетов для хобби проектов, или вы просто используете простые имена пакетов сбрасывания, такие как mypackage?

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

Для меня лично я никогда не думал об этом, но сегодня я хотел поиграть с Wicket, и это произошло что у меня нет четкого представления о том, как я хочу организовать свои проекты для хобби. Отдельное, четкое соглашение об обозначении пакетов для проектов хобби (по моему мнению, по крайней мере) послужит хорошим способом сохранить индивидуальный и служебный код четко отделенным друг от друга.

Я думал о простом иерархическом соглашении об именах, чтобы сохранить исходный код для моих личных проектов в одной корневой папке:

  • Используйте myprojects в качестве корневой папки
  • Добавить название проекта
  • Добавить дополнительные имена подпакетов

Итак, мой проект Wicket будет в пакете myprojects.learningwicket, а модульные тесты будут в пакете myprojects.learningwicket.tests (например).

Ответ 1

Если вы просто делаете личные проекты, где никто не будет использовать код, вы можете составить имя пакета, которое вам нравится. Не составляйте что-то, начинающееся с com. или net. или другого домена верхнего уровня, хотя это подразумевает, что вы владеете доменным именем (т.е. Используя com.john как имя вашего пакета только потому, что ваше имя происходит быть Джоном не является хорошей идеей).

Если вы собираетесь предоставить код кому-либо еще, вы должны использовать глобально уникальное имя пакета, которое согласно соглашениям Java означает, что вы должны зарегистрироваться и использовать доменное имя.

Ответ 2

Я просто использую свои инициалы: fg.nameofproject.etc

Это сокращает типизацию. Это может быть префикс в любое время с помощью sf.net или com. или org. или com.google..

Поскольку проект - это личное удовольствие, он особенный, как и ваша свежая персонализированная подарочная рубашка - он будет чувствовать себя хорошо.

Ответ 3

<sarcasm> Бах. Любой уважающий себя программист имел бы свое собственное доменное имя. Это, очевидно, трюк. У каждого есть свое личное доменное имя! </sarcasm>: -)

Хорошо, со всей серьезностью, покупка пользовательского доменного имени, вероятно, самый простой вариант. Примерно за $10 в год вы можете найти надежных поставщиков для размещения домена и пересылки электронной почты.

Ответ 4

pmurray_at_bigpond_dot_com.project.package

Ответ 5

Я храню большинство моих хобби проектов в Google Code, поэтому я просто использую сайт проекта как имя пакета: com.googlecode.donkirkby.someproject.

Ответ 6

Я думаю, что у тебя все получилось. Искушение избежать здесь - это не беспокоить имя пакета вообще. Легко сэкономить несколько нажатий клавиш, потому что "я просто пишу какой-нибудь тестовый код". Но тогда код становится хорошим, полезным и большим, и тогда вы понимаете, что у вас есть солидный старт для долговременной библиотеки или приложения. Возможно, это не библиотека или приложение, которое когда-либо покидает вашу домашнюю сеть, но дело в том, что вы не подумали заранее. Что Дания призрак информатики - всегда думайте впереди, если только немного.

Соглашение об именах, которое я использую для моего кода для хобби, очень похоже на ваш. У меня есть каталог верхнего уровня с именем "futura" (длинные, скучные причины, почему это имя появилось), что весь мой код зависает. Я пытаюсь организовать свой код в библиотеках пакетов, даже если это может быть класс или пакет, которые я никогда не использую для другого проекта. Я размещаю все приложения (то есть все, что имеет основной объект void (String [] args) в классе) в папке futura.app. *. Я также пытаюсь имитировать стандартные имена пакетов библиотеки Java для своего собственного кода, хотя в нескольких случаях я нарушил соглашение из-за моих собственных вкусов (например, futura.inet для Интернета, а не только сокета, кода и futura.collections для не- -всего.) Перефразируя Дэвида Мамета: Всегда будьте обобщающими. Всегда генерировать!

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

Ответ 7

мое имя anjan

обычно, я использую com.anjan

У меня есть моя фантастическая компания - иногда я использую это

традиция с sourceforge (как показано на гибернате и других пакетах) - net.sf. *

поэтому, в зависимости от вашего настроения, вы можете пойти с этим.

Ответ 8

Я использую свой URL OpenID, а затем добавляю имя моего проекта. например, com.myopenid.cd1.twitter является корневым пакетом клиента Twitter, который я разрабатывал.

Ответ 9

Мое имя: prj.project_name.

Ответ 10

Я просто использую свое имя: surname.initials.xxx, как приятное состоит из краткости и предотвращения столкновений. Я полагал, что это даст разумное свободное пространство для конфликтов, если я когда-нибудь захочу публично опубликовать этот код. У меня также есть небольшая программа, которую я написал, которая может переупаковать целые деревья каталогов, поэтому я решил, что когда-нибудь понадобится переупаковка, чтобы опубликовать ее довольно безболезненно... поэтому я не потерял слишком много сна над ней.

После surname.initials.xxx я использую либо приложение для пакетов приложений, lib для пакетов библиотеки, и tst для вещей, которые я просто экспериментирую.

Ответ 11

что вы думаете о lastname.firstname.project??? например luz.marlon.project?

Ответ 12

Я подумал о том, чтобы задать этот вопрос. До сих пор я использовал префикс com.tehvan, хотя на самом деле у меня нет компании.