Я уже знаком со стандартным соглашением об именовании пакетов Java, использующим доменное имя для создания уникального имени пакета (то есть пакета com.stackoverflow.widgets
). Однако я никогда не видел рекомендаций по выбору имен пакетов для личных проектов. Я предполагаю, потому что это действительно вопрос личного вкуса.
Итак, как выбрать имена пакетов для личных проектов, которые никогда не будут запущены в производство (вы можете экспериментировать с новым фреймворком в свободное время). Предполагая, что у вас нет личного веб-сайта, домен которого вы можете использовать для создания структуры пакета, что вы делаете (или собираетесь) делать? У вас есть логическая система для генерации новых имен пакетов для хобби-проектов, или вы просто используете простые одноразовые имена пакетов, например mypackage
?
Так как мне просто интересно узнать, что думают по этому поводу разные люди, я сделал эту вики-страницу сообщества.
Лично я никогда не задумывался об этом, но я хотел поиграть с Wicket сегодня вечером, и мне пришло в голову, что у меня нет четкого представления о том, как я хочу организовать свои хобби-проекты. Отдельное соглашение об именах пакетов для хобби-проектов (по крайней мере, на мой взгляд) послужило бы хорошим способом четко отделить личный и рабочий код друг от друга.
Я думал о простом иерархическом соглашении об именах, чтобы сохранить исходный код моих личных проектов в одной корневой папке:
- Использовать
myprojects
как корневую папку - Добавьте название проекта
- Добавьте любые дополнительные имена подпакетов
Итак, мой проект Wicket будет в пакете, myprojects.learningwicket
а модульные тесты будут в пакете myprojects.learningwicket.tests
(например).
источник
onion.duskgytldkxiuqc6.packagename
). Пока закрытый ключ остается секретным, вы контролируете доменное имя. Таким образом, регистрация (генерация) бесплатна и постоянна (в отличие от обычных доменов). Он соответствует букве соглашения Java и однозначно идентифицирует вас.Ответы:
Если вы просто занимаетесь личными проектами, в которых никто другой не будет использовать код, вы можете придумать имя пакета, которое вам нравится. Не придумывайте что-то, что начинается с
com.
илиnet.
или другого домена верхнего уровня, потому что это будет означать, что вы владеете доменным именем (т. Е. Использовать вcom.john
качестве имени вашего пакета только потому, что ваше имя - Джон, не очень хорошая идея) .Если вы собираетесь передать код кому-либо еще, вам следует использовать глобально уникальное имя пакета, что в соответствии с соглашениями Java означает, что вы должны зарегистрироваться и использовать доменное имя.
источник
com.xyz
это имя пакета должно быть где-то зарегистрировано ?? PSxyz
это мой клиент.com.github.mygithubid.myproject
?Я просто использую свои инициалы: fg.nameofproject.etc
Это уменьшает набор текста. В любой момент к нему можно добавить префикс sf.net или com. или орг. или com.google ..
Поскольку проект является личным, он будет особенным, как и ваша свежеотглаженная персонализированная подарочная рубашка - она будет приятной на ощупь.
источник
bond.james.007
bond.james._007
- не имеют такого же звонка ...: - {pmurray_at_bigpond_dot_com.project.package
источник
<sarcasm>
Ба. У любого уважающего себя программиста будет собственное доменное имя. Это явно вопрос с подвохом. У каждого свое личное доменное имя!</sarcasm>
:-)Хорошо, если серьезно, покупка собственного доменного имени, вероятно, является самым простым вариантом. Примерно за 10 долларов в год вы можете найти надежных провайдеров для размещения домена и пересылки электронной почты.
источник
Я храню большинство моих хобби проектов в Google Code, так что я просто использовать сайт проекта в качестве имени пакета:
com.googlecode.donkirkby.someproject
.источник
меня зовут анжан
обычно я использую com.anjan
У меня есть своя фантастическая компания - иногда я использую ее
Традиция с sourceforge (как показали hibernate и другие пакеты) - net.sf. *
так что, в зависимости от вашего настроения, вы можете пойти с этим.
источник
Я думаю, у вас это получилось. Здесь соблазн избежать - вообще не беспокоиться о названии пакета. Легко сэкономить несколько нажатий клавиш, потому что «Я просто пишу тестовый код». Но затем код становится хорошим, полезным и большим, и тогда вы понимаете, что имеете твердый старт для того, что может быть долгоживущей библиотекой или приложением. Возможно, это не библиотека или приложение, которое когда-либо покидает вашу домашнюю сеть, но дело в том, что вы не думали о будущем. Это датский призрак информатики - всегда думайте наперед, хотя бы немного.
Соглашение об именах, которое я использую для своего хобби-кода, очень похоже на ваше. У меня есть каталог верхнего уровня с именем «futura» (длинные, скучные причины появления этого имени), от которого зависает весь мой код. Я пытаюсь организовать свой код в библиотеки пакетов, даже если это может быть класс или пакет, который я никогда не использую для другого проекта. Я помещаю все приложения (то есть все, что имеет void main (String [] args) в классе) в папку futura.app. *. Я также пытаюсь имитировать стандартные имена пакетов библиотеки Java для своего собственного кода, хотя в нескольких случаях я нарушил соглашение из-за моих собственных вкусов (например, futura.inet для Интернета, а не просто сокет, код и futura.collections для не -util stuff.) Перефразируя Дэвида Мэмета: всегда делайте обобщения. Всегда будьте универсальны!
Судя по тому вниманию, которое вы проявили при публикации этого вопроса, я подозреваю, что вы согласны и с моим последним тезисом: вам не нужно рассматривать хакинг для любителей как проект корпоративного уровня, но если вы привнесете часть этой дисциплины в домашнюю игру, хобби тем более вознаграждается.
источник
Я использую свой URL-адрес OpenID, а затем добавляю имя своего проекта. например,
com.myopenid.cd1.twitter
это корневой пакет клиента Twitter, который я разрабатываю.источник
Мое именование:
prj.project_name
.источник
Я просто использую свое имя: surname.initials.xxx, как отличное сочетание краткости и предотвращения столкновений. Я полагал, что это даст разумное свободное от конфликтов пространство имен, если я когда-нибудь решу публично опубликовать код. У меня также есть небольшая программа, которую я написал, которая может переупаковывать целые деревья каталогов, поэтому я решил, что если мне когда-нибудь понадобится переупаковка для публикации, это будет довольно безболезненно ... поэтому я не слишком много проспал из-за этого.
После surname.initials.xxx я использую либо app для пакетов приложений, lib для пакетов библиотек, либо tst для вещей, с которыми я просто экспериментирую.
источник
что вы думаете о lastname.firstname.project ??? как luz.marlon.project?
источник
Я думал задать тот же вопрос. До сих пор я использовал префикс com.tehvan, хотя на самом деле у меня нет компании.
источник