Пространство имен пакетов Java для проектов без собственного домена - PullRequest
12 голосов
/ 26 октября 2011

Существует ли общее практическое правило для именования пространств имен пакетов для проектов с открытым исходным кодом без собственного домена?

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

Теперь, если у меня есть проект, который размещен только на github, можно ли взять

com.github.username.projectname

илиэто скорее осуждается, потому что я использую домен, который мне действительно не принадлежит?

Ответы [ 3 ]

8 голосов
/ 26 октября 2011

В вашем примере com.github не имеет прямого отношения к вашему коду. Где хранится этот код (он же размещен), не имеет значения и может измениться в будущем. Поэтому я предлагаю чисто конкретное имя проекта, например

org.projectname

или даже

projectname

, поскольку имя пакета не обязательно должно быть доменным именем.

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

8 голосов
/ 26 октября 2011

Существует несколько com.google.code и проектов с sourceforge в имени пакета, поэтому у пространства имен много прецедентов.

3 голосов
/ 26 октября 2011

Всё хорошо. В общем, просто выберите что-то «вероятное», чтобы быть уникальным и специфичным для проекта.

Пакеты обычно конфликтуют только тогда, когда они предназначены для использования в библиотеке; если пакеты предназначены только для использования внутри проекта, это имеет гораздо меньшее значение.

...