Именование пакетов Java

Хорошо, поэтому мне нужны советы о том, как выбрать имя для моих пакетов Java.

Я видел это сообщение: Что соглашение об именах пакетов вы используете для личных / хобби-проектов на Java? но здесь речь идет о личных проектах.

Что, если, например, я хочу создать API-оболочку и разрабатывать вместе с другими на GitHub? У меня нет доменного имени.


person LanguagesNamedAfterCofee    schedule 06.06.2011    source источник


Ответы (2)


Соглашение об обратном доменном имени существует для предотвращения конфликтов имен. Две разные компании с одинаковым названием продукта будут иметь разные пространства имен, поэтому все работает нормально.

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

Вы не будете первым, кто это сделает: вся библиотека JMockit находится в "mockit" пространство имен без префикса "com" или "org".

person Cameron Skinner    schedule 06.06.2011
comment
Спасибо, это ответ на мой вопрос. А также спасибо за ссылку на библиотеку, которая делает это. - person LanguagesNamedAfterCofee; 06.06.2011
comment
JUnit использовал для этого: в JUnit 3 пакет был junit.framework, в JUnit 4 он был изменен на org.junit. - person Joachim Sauer; 06.06.2011

Рекомендуется всегда начинать с вашего доменного имени в обратном направлении, а затем с имени проекта, например. com.mycompany.myproject и при необходимости продолжайте работу с подмодулями.

person user207421    schedule 06.06.2011
comment
У меня нет доменного имени, мне следует использовать com.github.username.myproject? - person LanguagesNamedAfterCofee; 06.06.2011
comment
Если у проекта есть доменное имя и вы можете его использовать, конечно. - person user207421; 06.06.2011
comment
@Languages: Да, я просто хотел порекомендовать это. - person Paŭlo Ebermann; 06.06.2011