2011-10-25 14 views
11

Czy istnieje ogólna reguła dotycząca sposobu nazywania przestrzeni nazw pakietów dla projektów open source bez własnej domeny?Przestrzeń nazw pakietu Java dla projektów bez własnej domeny

Przestrzenie nazw powinny być unikalne, więc wybrano domeny, które się tym zajmą, ale w końcu nie ma to znaczenia, o ile są unikatowe.

Teraz, jeśli mam projekt, który jest obsługiwana tylko na github, to jest w porządku, aby wziąć

com.github.username.projectname 

czy jest to raczej mile widziana, ponieważ używam domenę, która tak naprawdę nie posiadam?

+0

Nie myśl, że to byłby problem. Wydaje się, że projekty Apache i Codehaus robią to w ten sposób. –

+0

nazwa twojego pakietu nie powinna być unikalna, ale powinna być czymś, co posiadasz. załóżmy, że masz adres e-mail [email protected], możesz użyć pakietu jako com.email.name, tak jakby wystąpił konflikt, musisz wygrać, ponieważ jesteś właścicielem e-maila. Podsumowując, nazwa twojego pakietu powinna być unikalna i powinieneś być w stanie udowodnić, że jesteś jej właścicielem. –

Odpowiedz

8

Istnieje wiele com.google.code i projektów z sourceforge w nazwie pakietu, więc przestrzeń nazw ma dużo precedensu.

+2

To będzie zabawne, gdy Google wyjdzie z biznesu, a wszystkie te projekty przeprowadzą się gdzie indziej ... jak Lycos .. – Perception

+5

@Perception Would not naprawdę jednak coś zepsuć. Inaczej mówiąc, przenoszenie wszystkich witryn Sun do Oracle, a specyfikacje i posty na forum praktycznie niemożliwe do znalezienia. –

3

W porządku. Zasadniczo wybierz coś "prawdopodobnie", aby było unikalne i specyficzne dla projektu.

Pakiety na ogół kolidują tylko wtedy, gdy są biblioteką przeznaczoną do konsumpcji; jeśli pakiety są przeznaczone tylko do użytku w projekcie, ma to znaczenie znacznie mniej.

+0

Obawiam się, że chodzi raczej o używanie czyjejś nazwy domeny zamiast nazywania kolizji. –

+1

@G_H Stąd pierwsze zdanie odpowiedzi. –

8

W twoim przykładzie com.github nie ma bezpośredniego związku z Twoim kodem. Miejsce przechowywania tego kodu (inaczej hostowane) nie ma znaczenia i może się zmienić w przyszłości. Proponuję zatem czysto projektowej określonej nazwy jak

org.projectname 

lub nawet

projectname 

ponieważ nazwa pakietu nie muszą mieć nazwę domeny.

Aha, przy okazji: znajdziesz precedens dla prawie wszystkich i wszystkiego, co dotyczy konwencji nazewnictwa - nie tylko dla nazw pakietów Java. Ale drastycznie rzecz biorąc: w historii można znaleźć precedens dla każdego rodzaju morderstwa również. Czy to w jakiś sposób sprawia, że ​​jest to do przyjęcia tylko dlatego, że ktoś wcześniej to zrobił? Nie sądzę.

+0

Prawdopodobnie uniknę org.projectname; przesłanie pytania pyta o "brak własnej nazwy domeny". Ponieważ projekt "projectname.org" nie jest własnością projektu, wydaje się to dość mylące i może stać się nieprzyjemnym polem bitwy prawnej lub możliwym źródłem nieporozumień. – user314104

+0

załóżmy, że ktoś inny posiada domenę nazwa_projektu.org, on może walczyć z tobą legalnie –

Powiązane problemy