Подтвердить что ты не робот

Что такое соглашение для имен пакетов java без ассоциации с доменом?

Я не могу найти Q/A на SO, который отвечает на мой точный вопрос, поэтому я полагаю, что опубликую его и посмотрю, что вернется.

Что касается соглашения об именах для пакетов Java, я понимаю, что он должен быть обратным доменным именем: com.whatever.stuff, и я получаю правила о не смешанном случае, дефисах, ключевых словах и т.д.

Я также прочитал раздел 7.7 (Unique-Package-Names) спецификации языка Java. Насколько я могу судить, правила Java - использовать обратный домен, чтобы обеспечить уникальность... и если у вас его нет, то получите один:

You form a unique package name by first having (or belonging to an organization that has) an Internet domainname, such as sun.com. - Раздел 7.7

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

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

Я добавил тег android, потому что java-пакеты, которые я собираюсь писать, будут использоваться в приложении для Android, не были уверены, были ли разные мнения разработчиков Android.

4b9b3361

Ответ 1

Если вы собираетесь распространять много материала, я бы действительно предложил получить доменное имя. Другой альтернативой, однако, было бы использование вашего электронного письма: например. [email protected] станет com.gmail.bob. Это менее распространено, чем использование доменных имен, но все еще выполняется некоторыми и по-прежнему обеспечивает уникальность.

Ответ 2

Одно из условий - использовать доменное имя хостинг-провайдера, например

com.github.myrepositoryname
net.sf.sourceforge.myproject
com.googlecode.myproject

Преимущества:

Недостатки:

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

Ответ 3

Доменные имена могут предоставляться бесплатно. Например, dyn.com предлагает бесплатные доменные имена формы "whatever.dyndns.org" на http://free.domain.name/

Ответ 4

В профессиональной среде соглашение заключается в использовании обратного домена. В среде, которая больше связана с вами, вы можете использовать org.projectname.packagename.*.

Это конвенция, а не жесткое правило. Вы можете использовать любой тип имен доменов, который вам нравится.

Ответ 5

Если вы единственный кодер, вы можете просто использовать свое имя. Меня зовут Jannis Froese, поэтому я бы использовал

jannisfroese.projectname.stuff

или если вы хотите остаться с "действительными" доменными именами

localhost.jannisfroese.projectname.stuff

(localhost - зарезервированный домен верхнего уровня)

Конечно, это работает только в том случае, если ваше имя достаточно уникально, так что столкновение маловероятно